I’m trying to submit a file from an HTTP POST via code to an old SAP Business Connector server. I’m being told it is like Web Methods Integration Server. I have a url, user/pass, client certificate and an IDoc in XML format. I am able to authenticate but when I POST the server returns a 403 Forbidden header. I believe everything is setup correctly but the FLOW isn’t accepting the message.
Has anyone ever done something similar to this? I would really appreciate some help to get this resolved.
This is clearly a permissions issue. Possibilities: the client cert is invalid; the username/pw is invalid; the username or the user associated with the client cert is not allowed to invoke that service. The SAP BC admin (if one exists) should be able to zero in on the root cause.
Side note: BC 3.5? Wow, that’s really old!
Thanks for the note, Rob. The BC admin on the partner side is obviously inept so no luck there. But, there is one more clue I just received. The response string also contains the following.
Invalid IDoc format: Expecting IDOC_CONTROL or IDOC_CONTROL_REC_40
I am clearly authenticated and authorized but my XML IDoc doesn’t contain this IDOC_CONTROL_REC_40
I feel you need to convert the XML data to SAP BC Understandable format like IDATA_CONTROL n IDATA_CONTROL_REC
In webmethods a service by name transformHeirarchyToFlat is available for doing this.I hope i am in correct track .if not please elaborate your area of problem.
The above error says that it is looking for flat data structure. If you are sending the idoc xml as node (instead of plain text. I don’t think posting such a huge data as plain text is good) then the SAP-BC service should first get the XML document from it. (xmlNodeToDocument). Then this should be converted to flat format as rajesh_wm told.
What is the native format coming out of BC? This is what I’m trying to post to it. This comes directly out of SAP.
<?xml version="1.0" encoding="iso-8859-1" ?>
One way is to serialize this XML and write into the HTTP reuqest stream and post to WM service. Before posting you can choose the content type.
text/xml - The posted data will be received as an XML node in WM
application/-www-form-urlencoded - The posted xml will be received as parsed xml node, $xmldata.
text/unknown - (Anything unrecognized by WM) The posted xml will be received as a content stream.
So the implementation of the SAP-BC or WM service depends on how or in which format you are posting the XML. Here you are not changing any data but the way you post it to WM is changed. There is a thread on these content types: http://www.wmusers.com/forum/showthread.php?t=14457
Any how, which code you are using to post the xml (Java, VB or ASP etc)?
Thank you for the data and the link.
I’m using two methods. A .Net http client and BizTalk 2006 R2. Out BC died so I’m replacing it BTS which we are already using. I’m being told by our partner that our BC is sending out messages like the following. I have no way of knowing what the contract of the message looks like.
<?xml version="1.0" encoding="UTF-8"?>
To me, this looks like a serialized pipeline. Any thoughts?
Hi This is Sagar I am new to this webmethods I am having questions which i want to share with u I want to know sql server 2005 connectivity with jdbc adapter and where will be the jar files in sql server. if you know the answers please post to me or u can mail me to firstname.lastname@example.org
Could you clarify the XML flow like: System1 → System2 → System3? Explaining System1/2/3 is of type webMethods or .NET?
The middle system should be agnostic. It doesn’t matter if I use .Net or COBOL or Assembler as the EAI system. My roadblock is no documentation about the message formats leaving and entering WebMethods Business Connector. Are they just the IDocs in XML format or are they a serialization of the JAVA pipelines? (see previous posts)
What we’re doing now is, BC → WM
What we will be doing is, .Net → WM
We want to keep the “flow” in the WM system the same so I need to emulate the message contract of the BC system.