on 03-16-2012 1:52 PM
Hello,
we have SAP 7.1 EHP 1 and set up the following scenario with an external business partner, who is using the Business Connector:
IDOC -> PI (decentral Adapter Engine) -> BusinessConnector
When sending the message, there are 2 steps showing up in the decentral adapter engine:
1) Delivering to channel: BC_Orders_RECEIVER
2) The application sent the message asynchronously using connection BcAdapter. Returning to application.
While step 1) is successfull, the following error message is showing up in step 2):
Transmitting the message to endpoint http://xx.xx.xx.xx:5555/invoke/sap.demo/handle_IDOC_XML_POST?transport=ALE%20(R/3%20IDOC)&action=1&C... using connection BcAdapter failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 403 with message "Service Error" Body: Missing parameters: 'xmlData' or '$filedata'.
It seems, that the Business Connector can't identify the XML message, but I have no idea what could be the reason, as there aren't many configuration possibilities in the the BC-Receiver-Adapter. We're using Transport Protocol HTTP, Message Protocol IDoc XML and the URL given from business partner...
Many thanks in advance!
Juergen
Hi,
I took a closer look at this receiver BC scenario and I think I have found a complete solution for you.
First of all, the problem has nothing to do with SICF, as you are not communicating with ERP directly, but with BC.
Then, I analyzed the BC service you tried to use (sap.demo:handleIDocXMLPost) and I noticed that it only works fine with HTTP Content Type: text/xml (otherwise it is unable to read the message payload and raises the error that you mentioned), while PI sets some strange application/x-sap.idoc Content Type in this adapter. I also tried changing this Content Type with MessageTransformBean adapter module, but then the adapter itself raised an error. Conclusion? Use some other BC service to receive the IDoc message
So as a solution, use pub.sap.transport.ALE:InboundProcess instead of sap.demo:handleIDocXMLPost that you tried to use. So your URL in the receiver channel should be: http://[host]:[port]/invoke/pub.sap.transport.ALE/InboundProcess, without any additional parameters like sender or receiver (it will be determined by BC based on payload). And make sure to create a routing rule in BC for this particular combination of: sender, receiver and message type.
Hope this helps,
Greg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello together,
many thanks for all the fast answers, but especially to Greg. That was exactly the issue!
The business partner now provides the following BC service, and it's working fine with it: /invoke/wm.PartnerMgr.gateway.transport.ALE/InboundProcess
It's interesting behavior, that PI sets some strange application/x-sap.idoc Content Type in the adapter, which can't be handled by BC, while it seems to work with other http tools and BC...
Have a nice weekend!
Juergen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Juergen,
I'm glad to hear it helped you! Thank you too, because you inspired me to write a short weblog on this topic, providing a simple example for the receiver BC scenario, here: http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/03/19/receiver-business-connector-scena...
I believe others who will visit this thread in the future will find it helpful.
Regards,
Greg
Hello,
Transmitting the message to endpoint http://xx.xx.xx.xx:5555/invoke/sap.demo/handle_IDOC_XML_POST?transport=ALE%20(R/3%20IDOC)&action=1&C... using connection BcAdapter failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 403 with message "Service Error" Body: Missing parameters: 'xmlData' or '$filedata'.
It seems, that the Business Connector can't identify the XML message, but I have no idea what could be the reason, as there aren't many configuration possibilities in the the BC-Receiver-Adapter. We're using Transport Protocol HTTP, Message Protocol IDoc XML and the URL given from business partner...
I think BC expects the POST request to look like a form that is why xmlData or $filedata declaration is missing just before the main payload. I have not worked with BC Adapter, but in the Plain HTTP Receiver, there is an option there called prolog and the entry should be &xmlData=. Try to see if the prolog is present in the BC Receiver Adapter and add the entry &xmlData= there.
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Activate the service sap/xi/engine in transaction SICF if it is not acitvated.
Regards,
Venkata S Pagolu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It seems like idoc xml is not getting mapping to flow service in Business connector. As the BC adapter is based on http protocol, just try to post the idoc xml from any http tool and see the response. Also ask the business partner to test the flow service independently on their side.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I agree with Sunil. Try posting the IDoc XML using e.g. WFetch using the URL provided by you business partner. I too do not think the error is caused by SAP PI, but rather the flow service at the business partners side.
Best regards,
Jacob
Hi,
There seems to be 2 possibilities:
1. Your XML data is incorrect. For this, you may ask your partner for a dummy sample file which they expect you to send and compare your Idoc-xml with it in terms of namespce, structure etc.
2. Some ICF services are inactive. You may check SAP Note 517484 for this.
Regards.
Prateek Raj Srivastava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.