by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
By Jesus Rodriguez, Uri Katsir, Tellago, Inc The code referenced on this post is available at Tellago’s DevLabs CodePlex workspace: http://tellago.codeplex.com/releases/view/41246 Introduction During the last few years, BizTalk Server has established…(read more)
by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
It’s been a few weeks since my last blog post mainly due to the fact that it’s been an extremely busy month for us at Tellago . We have been heads down working on several fun projects that we are expecting to share with the dev community in the next few…(read more)
by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
In order to successfully setup communication with SAP. You have following configurations.
In terms of the SAP part you need to have following things on SAP side:
· A SAP user with suitable access
· A RFC connection (This will specify the ‘listening’ program running on BizTalk. (SAP transaction SM59)
· A tRFC port which uses the RFC connection defined above. (SAP transaction WE21)
There is also some setup in terms of messages. Assignment of messages to receiving/sending partner…
But this would be down to the SAP team for doing this sort of implementation.
The most important thing from BizTalk point of view is the configuration of the Send and Receive ports.
There for you need to first generate the correct SAP schemas. (See blog post: “Communication with SAP through WCF custom adapter – Generate SAP schemas”).
Note: When generating the SAP schemas, BizTalk will provide you with the correct bindings to setup the Send/Receive Ports.
On the other side, it’s better to cross-check that configuration to be sure that you have the correct setup.
Send Ports
Your URI should look like this:
sap://CLIENT=[SAPClientID];LANG=[LANG];@a/[ServerName]/[SystemID]?RfcSdkTrace=False&AbapDebug=False
ex: sap://CLIENT=235;LANG=EN;@a/10.80.32.3/00?RfcSdkTrace=False&AbapDebug=False
In the SOAP Action header you should specify the action, this action you can find in the configuration of your generated SAP schema.
Double check the configuration of the URI and do not forget to add your credentials to avoid logon problems.
Receive Ports
Your URI should look like this:
sap://CLIENT=[SAPClientID];LANG=[LANG];@a/[ServerName]/[SystemID]?ListenerGwHost=[ListenerGWHost]&ListenerGwServ=[ListenerGWService]&ListenerProgramId=[ListenerProgramID]
ex: sap://CLIENT=235;LANG=EN;@a/10.80.32.3/00?ListenerGwHost=10.80.32.3&ListenerGwServ=SAPGW00&ListenerProgramId=BIZTALK_CODIT
The SAP team has to provide you with the correct variables. Again, do not forget to add your credentials to avoid logon problems.
If you still have issues with enlisting your Receive Locations you should paste following entries in c:\windows\system32\drivers\etc\services.
Services.txt (3.71 kb)
Enjoy !
Glenn Colpaert
by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
In order to send and receive messages from SAP you need to have the correct schemas generated from SAP.
To successfully generate those schemas you need following prerequisites installed.
· BizTalk – SAP LOB Adapter SDK SP2
· BizTalk – Adapter Pack 2.0
· BizTalk – SAP client libraries
Create a new project in Visual Studio. Click “Add Generated Items”.
Select “Consume Adapter Service”.
Select the “sapBinding” and press “Configure”.
Configure the URI properties (application server host, the gateway host, the gateway service, the system number, the client, programid) and credentials provided.
When the configuration is finished press the “Connect button”.
In the following sceen you can Select Client (Outbound operations) or Server (Inbound Operations), then you can select the IDOC you want.
Be sure to select the correct version of the IDOC. Select the Send or Receive operation and click “OK” to generate the schema.
Generating a schema will provide you with the correct schemas and a binding file that you can use to setup the receive or send port.
(See blog post: “Communication with SAP through WCF custom adapter – Send and Receive Ports”)
Enjoy !
Glenn Colpaert
by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
Consider the following scenario:
You have an adapter on a Receive Location, which submits a message in Format A into BizTalk.
The Pipeline configured on this Receive Location converts the message into Format B.
Assume that there is no map configured on the Receive Port.
You have the “Route Failed Messages” option enabled on the Receive Port.
You have set up an orchestration (or Send Port) which subscribes to the Error Reports (i.e., the failed messages which are routed due to the “Route Failed Messages” feature) generated by this Receive Port 1.
Problem: When a message is received on this Receive Location, and there are no subscribers for it, you expect that the message in Format B will be received by your error-handling orchestration (or Send Port). However, in some scenarios (depending on the pipeline, pipeline configuration, etc), you see that the message received by the error-handling orchestration (or Send Port) is in Format A. How come?
Here’s what is most probably happening:
Adapter submits a message in Format A.
The pipeline executes, and the message is converted to Format B.
The Messaging Engine attempts to publish the message, but finds that there are no subscribers for this message. It thus returns an error back to the Adapter.
The Adapter attempts to suspend the message. NOTE – here, it attempts to suspend the message which it knows about (which it received from the back-end) – this message is in Format A.
The Messaging Engine sees this:
someone (the adapter in this case) is suspending a message (message in Format A, in this case)
“Route Failed Messages” is enabled on the port
The Messaging Engine, instead of suspending, decides to “route” an Error Report corresponding to the message being suspended. This is the message in Format A, in this case.
Your error-handling orchestration (or send port) thus ended up receiving the message in Format A.
Question: What do you do if you want to have the message received by your error-handling orchestration (or send port) to be in Format B?
Answer: The output message from the pipeline must have the context property “SuspendMessageOnRoutingFailure” present, with a value of true (boolean).
How does that work? Well, it changes the sequence above to be as follows:
Adapter submits a message in Format A.
The pipeline executes, and the message is converted to Format B.
The Messaging Engine attempts to publish the message, but finds that there are no subscribers for this message.
The Messaging Engine sees the “SuspendMessageOnRoutingFailure” message context property is set to true, and instead of returning an error back to the Adapter, attempts to suspend the message. NOTE that this message is in Format B.
At the same time, the Messaging Engine also sees this:
someone (the Messaging Engine itself, in this case) is suspending a message (message in Format B)
“Route Failed Messages” is enabled on the port
The Messaging Engine, instead of suspending, decides to “route” an Error Report corresponding to the message being suspended. This is the message in Format B.
Your error-handling orchestration (or send port) now receives the message in Format B.
The out-of-box XML Disassembler component, has an option named “Recoverable Interchange”. When this option is set to true, the XML Disassembler internally translates this to mean “SuspendMessageOnRoutingFailure”=true, and sets this context property to the message.
by community-syndication | Mar 2, 2010 | BizTalk Community Blogs via Syndication
Support for integration with IBM Mainframe and AS 400 is often mentioned as a key feature of BizTalk. And as many of these system are still in use, the knowledge of these adapters should be widely spread; -but unfortunately it is not.
In fact, it has been a challenge to even find anyone to do a session about this topic. It was not until we sent out a request for speaker on our blogs that we eventually found someone qualified to do the job. This is a great opportunity for anyone calling themselves a “BizTalk developer”, to find out how to use one of the key selling points of BizTalk, and open up some new prospects for business.
Are you in Stockholm on the 16th of March? Then come see Sam Vanhoutte and Peter Borremans from CODit talk about: Network integration, Data integration, Application integration and Messaging integration.
Sign up now: http://swebug20100316-widget.eventbrite.com/
by community-syndication | Mar 1, 2010 | BizTalk Community Blogs via Syndication
The AppFabric team hit another milestone today with the public availability of AppFabric Beta 2. Congrats team!!!
Now, because I know there must be some confusion out there, AppFabric is a brand, as I blogged about here. I’ve been doing some posts here lately about extending BizTalk ESB to Windows Azure AppFabric, but that’s not the AppFabric this is about, this is Windows Server AppFabric. It brings together what was formerly codename “Dublin” and codename “Velocity”, and provides a host for WF/WCF. This is a really interesting set of new capabilities that .NET developers are about to get, and I’ll start blogging more about it soon, as the SOA implications are significant.
You can learn more and get the beta here.
by community-syndication | Mar 1, 2010 | BizTalk Community Blogs via Syndication
A new white paper was released a few days ago by Microsoft, written by MVP Jon Flanders, on the ESB Toolkit.
It’s a well written paper that walks through the architecture, and shows examples, and serves as both an overview and a mini-tutorial. Great place to start if you want to come up to speed on this.
He REALLY nails it well in the summary, I would quote it here but that would violate the copyright, so I’ll paraphrase: “hey this is really cool and powerful, and adds tremendous business value”. That doesn’t do it justice though, I’d suggest you go read it for yourself.
You can get it here. Enjoy!
by community-syndication | Mar 1, 2010 | BizTalk Community Blogs via Syndication
The .NET Endpoint blog announced this morning the availability of Windows Server AppFabric Beta 2, which can be downloaded at http://msdn.microsoft.com/appfabric. According to the announcement, Beta 2 was written to work against the RC of Visual Studio 2010, and is apparently now feature complete:
This build represents our “feature complete” milestone. That is, it contains all the features that we plan to ship in Windows Server AppFabric v1 by Q3 of 2010. For this release we focused on building a provider model for persistence, monitoring, and cache configuration stores. In our Beta 1 release we supported only the SQL Server based persistence and monitoring providers that we shipped and supported only an XML file based or SQL Server based cache configuration store. In Beta 2 we now also support providers for other database platforms or for other types of stores, in the case of persistence and cache configuration.
This is an exciting milestone for the team, and will certainly be a great time to begin evaluating Windows Server AppFabric for inclusion in upcoming projects.
by community-syndication | Mar 1, 2010 | BizTalk Community Blogs via Syndication
You can download the bits and get some great samples in the MSDN development center. AppFabric is the combination of the distributed caching features previously codenamed “Velocity” and the composite application management features previously codenamed “Dublin”. These extensions to Windows Server continue to make it a great platform for building applications. I’m excited about the tooling that AppFabric brings to the management of Workflow Services as it makes it much easier to configure, monitor and take action on deployed services. In addition, AppFabric adds to the rich tracking story in WF by allowing you to store tracking information in a SQL database so you can do historical analysis.
This build is based on the Release Candidate of .NET Framework 4, so you’ll want to have that installed first before installing AppFabric.
