Receiving IDOC and sending a response to SAP

Hi,

I'm doing a little test scenario to see if we can get our Biztalk and SAP systems to work together; receiving IDOCs from SAP in particular (through a request/response receiveport). I downloaded the sample and followed the tutorial to create my own application. After some initial trouble getting it all to work, I can now receive the IDOCs sent to me by our SAP system. The issue that remains though is sending the response to the SAP system. I don't quite follow the steps laid out in the tutorial:

- The response part of the receivelocation has as a message type, the ReceiveResponse schema I created through the SAP adapter.

- I'm to include a send pipeline in the application that I have to pick when configuring the Receivelocation, yet according to the tutorial (and sample) this has a  flat file assembler component that has the Receive schema as the Document schema setting.

- In my orchestration I have to construct a Response message (of type ReceiveResponse) and assign to it some instance and set the correct WcfAction.

After deploying the application and testing it I run into some errors (either pipeline failures, or no root node found).

I have a few questions concerning the above steps:

1. Why does the send pipeline point to the Receive schema? I would expect to have to assemble the flat file instance of the response (of type ReceiveResponse) I create in my orchestration? When I configure it like the tutorial describes, I get pipeline execution exceptions, due to the fact that the response message isn't of the correct schema type.

2. In the sample there is a little helper class that loads some XML file from disk. I would assume this to be an instance of the Response message, either with an ACK of NACK in it of some sorts. The problem with it though, is that it seems to be an empty schema. If I generate an instance through Visual Studio, the resulting XML file contains no data / root node. I'm sure I'm doing something wrong here, but I'd like to know what :) Can someone give me an example of a correct response instance?

Regards,

Mark

July 2nd, 2013 8:26am

Can you point us to the tutorial? So we can take a more detailed look at the setup of this tutorial?
Free Windows Admin Tool Kit Click here and download it now
July 2nd, 2013 12:53pm

Hi,

It's this tutorial: http://msdn.microsoft.com/en-us/library/cc185169(v=bts.10).aspx, and the sample being available at http://msdn.microsoft.com/en-us/library/cc185183(v=bts.10).aspx

P.S. 2 replies to my own post? Not sure what happened there... :)

July 3rd, 2013 4:04am

1. The SendPipeline available in the tutorial is the SendPipeline to send to your DropFolder (check the binding file included in the tutorial). The actual response to SAP is send back with XMLTransmit (on your 2-way receive port).

2. The sample of the response message to SAP is actually also inside the folder of the tutorial. IdocReceiveResponse.xml

<ReceiveResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/IDOC/3/ORDERS03//620/Receive">
</ReceiveResponse>
This message will actually be enough to ACK the IDoc. If I'm not mistaken the SAP adapter will ack the IDOC based on that ReceiveResponse message.
When you don't send this ReceiveResponse message the IDoc's will not have a status 'green' in SAP (transaction WE02 or WE05), so they will know BizTalk did not ACK the IDoc's.
Free Windows Admin Tool Kit Click here and download it now
July 3rd, 2013 4:21am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics