cancel
Showing results for 
Search instead for 
Did you mean: 

Soap Receiver Adapter - No Response Message

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Used a Idoc to WS async scenario outbound and a WS to ALEAUD Idoc scenario inbound. Interfaces is working fine.

Former Member
0 Kudos

Rudi,

Check if SOAP Look up in Mapping will suit your requirement.

Regards,

Sudharshan N A

Former Member
0 Kudos

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

Former Member
0 Kudos

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?

Former Member
0 Kudos

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

Former Member
0 Kudos

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?

stefan_grube
Active Contributor
0 Kudos

Maybe this blog helps you:

/people/henrique.pinto/blog/2007/08/02/syncasync-scenarios-without-bpm

It is sync - async, so you have to check the mentioned references for async - sync.

Regards

Stefan

stefan_grube
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Stefan, thanks for the reply. Is it at all possible to get the response back from the Webservice when the sender interface is an Idoc without using BPM?

Former Member
0 Kudos

Hi Rudi!

What do you need to do with the response?

Peter

Former Member
0 Kudos

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

Former Member
0 Kudos

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..:

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/903a0abc-e56e-2910-51a8-9dc616df...