on 01-24-2008 3:12 PM
Hi, I've got the following scenario: Idoc - XI - Webservice. I've imported the WSDL from the .NET webservice and used the input and output messages in a syncronous interface. I've setup a SOAP Receiver adapter with the Webservice details. Everything is working fine when I call the webservice and the data is received 100% at the target system, but I am not getting ANY response back on XI.
RECEIVER SOAP ADAPTER Audit LOG:
2008-01-24 16:41:57 Success SOAP: request message entering the adapter with user J2EE_GUEST
2008-01-24 16:41:57 Success MP_LEAVE1
2008-01-24 16:41:57 Success The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System.
2008-01-24 16:41:57 Success Acknowledgement creation triggered for type: AckNotSupported
2008-01-24 16:41:57 Success SOAP: completed the processing
2008-01-24 16:41:57 Success SOAP: continuing to response message 83638fb0-ca8a-11dc-b36c-00145eed9500
2008-01-24 16:41:57 Success SOAP: sending a delivery ack ...
2008-01-24 16:41:57 Success SOAP: sent a delivery ack
2008-01-24 16:41:57 Success The message status set to DLVD.
2008-01-24 16:41:57 Success Acknowledgement sent successfully for type: AckNotSupported
Has it got anything to do with the "AckNotSupported" type? Is "AckNotSupported" the default setting for the receiver SOAP adapter? If so, where do I change this setting?
When I call the webservice with the exact same input using a standalone tool, I get the response message back 100%. Any help will be appreciated.
Thanks
Rudi
Used a Idoc to WS async scenario outbound and a WS to ALEAUD Idoc scenario inbound. Interfaces is working fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Rudi,
Check if SOAP Look up in Mapping will suit your requirement.
Regards,
Sudharshan N A
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey
you are confusing between a response and an acknowledgement.
response and acknowledgement and not one and the same thing.
response is basically used when you send some query to the receiver system and expect a set of value(s) for your query.for e.g sending a query to a Database(JDBC) or SAP system(RFC)
and acknowledgement is just a notification that the message was receiver by the receiver correctly,it does not returns you a set of value(s).
now coming to your question,ALEAUDIT IDOC is generated when an IDOC is posted,since in your case you are not posting and IDOC,instead your are sending it ,i m not sure if ALEAUDIT will be generated or not,one thing that will come to your rescue is that every receiver SOAP adapter expects a HTTP response(irrespective of you explicitly asking it or not).
a HTTP 200 means that messages were posted successfully,and HTTP 500 means application error,get this HTTP response and send it back to the SAP system,most probably you would need to use BPM for this.
Thanx
Aamir
Edited by: Aamir Suhail on Jan 24, 2008 11:26 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Aamir, thanks for the reply. I am not allowed to use a bpm in this scenario because of the volumes of data and performance restrictions on our environment as well as various other reasons. I am just looking to get the WS response message back in the XI pipeline so that I can use it in a mapping. I had a look at the document: "How To Handle Acknowledgments for IDocs" but I don't think it is relevant for my scenario since I do not need a response (or acknowledgement) from a SAP system, I need the response from the WS. Do you know if there is a way I can get the webservice response back in the XI Pipeline?
Hey
since you have IDOC on the sender side you can't do sync scenario without BPM,you can get ack(without BPM) but as you said ALEAUDIT is generated in SAP system not in webservice hence it won't do any good to you.
the easiest way around can be to split your scenario into 2 async scenario,the first async scenario will be IDOC to webservice which posts the request to Webservice,the second async scenario will be a Webservice to SAP which sends the response back.
the first scenario will post the messages to Webservice and the second one will post the response to SAP,in this way you can avoid BPM.
Thanx
Aamir
Thanks for the reply Aamir. As a last resort we will do two async interfaces as you suggested. I would like to investigate the syncronous scenario a bit more though before going that route. The reason I do not want to use a BPM is because I am working with large amounts of data and our system cannot handle to volumes in the BPM. This is why the lookup in the mapping will also not work for our scenario.
Do you know whether it is possible to build a async\sync bridge in a BPM without loading the message content into the BPM?
I've tried placing the imported Idoc in a outbound sync interface but XI is not fooled that easily.
Another option might be to use an outbound Proxy instead of the Idoc, what do you think?
Your sender is an IDoc. That means you have an async call. The SOAP adapter ignores the response in this case.
If you need the response, you need an async - sync bridge.
Check for SDN weblogs for this topic.
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Peter, I need to use the response from the webservice to create an ALEAUD idoc back in the SAP system in order to update the status of the original Idoc that was sent. The response will have detailed info which I need to put in the ALEAUD Idoc.
Edited by: Rudi Jordaan on Jan 24, 2008 6:49 PM
Rudi,
I don't think it is possible without BPM. The BPM would be quite easy: receive step <,transformation>, sync send step, transformation async send step.
Peter
just in case..:
User | Count |
---|---|
76 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.