cancel
Showing results for 
Search instead for 
Did you mean: 

Error getting while calling a webService from XI

Former Member
0 Kudos

Hi

We are getting the follwoing error while calling a webservice from XI. We Could call the same webservice from XML spy. Have checked the SOAP adapter it was running fine and the communication channel parameters too.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIAdapterFramework</SAP:Category><SAP:Code area="MESSAGE">GENERAL</SAP:Code><SAP:P1/><SAP:P2/><SAP:P3/><SAP:P4/><SAP:AdditionalText>com.sap.aii.af.ra.ms.api.MessagingException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault</SAP:AdditionalText><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack/><SAP:Retry>M</SAP:Retry></SAP:Error>

Please try to help.

Thanks

Ramesh

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Looks like there is some problem with the SOAP request that is sent from XI to the webservvice and it is not able to process the same.

Use the Message Display Tool to see your SOAP message that goes out of XI to be able to debug the same,.

http://host:port/MessagingSystem/monitor/monitor.jsp

--> Sent Messages / Received Messages --> Synch / Aynch --> Give the valid time --> and you will get a list of messages.

Next, click on Details --> Display Message Bytes --> This will display the entire SOAP message.

Regards,

Bhavesh

Answers (9)

Answers (9)

former_member185881
Active Participant
0 Kudos

Hi

In Receiver SOAP Adapter have you given value in ACTION parameter? If not then give it. Action parameter will perform action on requested web service.

i hope it will help.

Regards

Dheeraj Kumar

brian_luo
Participant
0 Kudos

Hi

Thanks for your answer.But I donot know which value should give in ACTION parameter.

By the way, there are two receiver SOAP communication channels,and I donot give them values,but the first one work well.

STALANKI
Active Contributor
0 Kudos

Check this.It is very useful.Worth enough!

/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi

/people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services

brian_luo
Participant
0 Kudos

we have got the same problem now.

Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault.

It's OK in DEV client,but in QA client the problem comes.I just donot konw why!

Edited by: brian Luo on Apr 23, 2010 9:14 AM

brian_luo
Participant
0 Kudos

Anybody has had the same problem and solved it ?

Former Member
0 Kudos

Hi Abay

Yes you are right , when i try to call from Spy i am getting the response, but not from XI.

Hi Bhavesh

We have tried that options too...but no luck We have got some info from SAP.

We observed that the wsdl file that you are using is in rpc style.

And the integration builder expects the external messages in

document-style format. However, you can still import WSDL documents in

rpc-style format.

Have you anytime experienced the rpc style wsdl importing. Kindly let us know the procedure. We have been trying with the following link but we couldn't.

http://help.sap.com/saphelp_nw04s/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/frameset.htm.

Kindly let us know.

Thanks

Ramesh

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Please refer to the SOAP Adapter FAQ on Service Market place. It discusses RPC style WSDL's against Document Style WSDL's and how to use them

Regards

Bhavesh

Former Member
0 Kudos

Hi Ramesh,

Did u mean that when u tried making a webservice call directly from XMLSPY, you got no errors and when you tried triggering the interface which makes a call from XI to this web service, you get an error. ...?

Can you just be clear on what you are exactly doing....??

Regards,

Abhy

Former Member
0 Kudos

Hi Bhavesh

Thanks for the information. Third party system has commented that there were extra headers comming as a request, so their system is not able to process the request.

The extra headers are like below. Would it be possible to surpress them. Kindly try to see. (IDoc->XI->webservice)

SOAP:mustUnderstand='1'><SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService></SAP:ReliableMessaging><SAP:DynamicConfiguration SOAP:mustUnderstand='1'><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='IDOCTYP'>XXXX</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='SNDPRT'>XXXX</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='SNDPRN'>XXXX</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='RCVPOR'>XXXX</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='RCVPRN'>XXXX</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='RCVPRT'>LS</SAP:Record><SAP:Record namespace='urn:sap-com:document:sap:idoc:messages' name='SNDPOR'>XXXX</SAP:Record>

Thanks

Ramesh

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

The additional headers are beacuse in your Receiver SOAP adapter, you must have selected the options , KEEP HEADER. Please do not select the same and then issue would not occur.

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh

Thanks a lot for the information. I could see the payload , the differnce we obseved here between "XML Spy soap data" and "XI payload" is there is one element extra in XML Spy. Please find the below. Please try extend your helping hand.

XML SPY Payload:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<SOAP-ENV:Body>

<m:StatusUpdate xmlns:m="http://localhost/StatusUpdate" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<StatusUpdateRequest xsi:type="m:SendRequest">

<m:StatusLine> <Warehouse xsi:type="xsd:string"></Warehouse>

<ReturnCode xsi:type="xsd:string">51</ReturnCode>

<Message xsi:type="xsd:string">Either enter quantity or confirm target = actual</Message>

<TransferOrder xsi:type="xsd:string"></TransferOrder>

</m:StatusLine>

</StatusUpdateRequest>

</m:StatusUpdate>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

XI Payload in Messaging System:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:StatusUpdateRequest xmlns:ns0="http://localhost/StatusUpdate">

<ns0:StatusLine>

<Warehouse></Warehouse>

<ReturnCode>51</ReturnCode>

<Message>Either enter quantity or confirm target = actual</Message>

<TransferOrder></TransferOrder>

</ns0:StatusLine>

</ns0:StatusUpdateRequest>

SAP_aa915b81-8030-11db-b0e3-000f203c93e0_END

bhavesh_kantilal
Active Contributor
0 Kudos

Ramesh,

Sorry but I think you still have not go the point.

You need to compare the entire SOAP message in MDT including SOAP Header etc with the SOAP message of XML Spy and see if they match.

Also, you need to ensure that the Node STATUSUPDATEREQUEST which is not in your XI XML is created as a result of the mapping step in XI.

Check the WSDL of the webservice and see if this node exists and if yes, you need to map it to target SOAP request message.

Regards,

Bhavesh

Former Member
0 Kudos

Hi

Thanks a lot for your kind support.

Hi Moorthy

We have created one Asyn MI and wrapped the external definition into that, Haven't done any mapping for responce. Please find the trace below.

Hi Bhavesh

It was great helpful link but the payload days is not visible for this message it was containing details about sending. For some other message i could see payload.

I Could see one differnce in the XML Spy and "XI payload before entering SOAP Adapter"

The following line doesn’t appear in the XI payload.

<m:StatusUpdate xmlns:m="http://localhost/StatusUpdate" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

</m:StatusUpdate>

Is this line would be embeded in the SOAP Adapter??? Please find the trace below. Please help me if you have any additional info.

The message was successfully received by the messaging system. Profile: XI URL: Using connection AFW. Trying to put the message into the receive queue.

Message successfully put into the queue.

The message was successfully retrieved from the receive queue.

The message status set to DLNG.

Delivering to channel: CC_SOAP_Rcvr_D_Pick_ZALEAUD

SOAP: request message entering the adapter

SOAP: completed the processing

SOAP: response message received 4cb3fab0-7fc5-11db-8c5a-000f203c93e0

SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault

SOAP: sending a delivery error ack ...

SOAP: sent a delivery error ack

Exception caught by adapter framework: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault

Delivery of the message to the application using connection AFW failed, due to: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault.

The asynchronous message was successfully scheduled to be delivered at Wed Nov 29 16:23:51 GMT 2006.

The message status set to WAIT.

Retrying to deliver message to the application. Retry: 1

Kind Regards

Ramesh

Message was edited by:

Ramesh Reddy Pothireddy

bhavesh_kantilal
Active Contributor
0 Kudos

Ramesh,

If you had followed the link I had given above and then clicked on the EYE icon in your message --> and then Display message byest, you should have been able to see the entire SOAP message.

What you have given here is your Adapter Log. Please look into the actual SOAP message and see if it is ok.

Regards,

Bhavesh

moorthy
Active Contributor
0 Kudos

HI,

Is it Synchronous call ?

If so did you do the Resposne Mapping ?

Check out the Webservice Response ..

also check the SOAP Adapter Monitor.

Regards,

moorthy

Former Member
0 Kudos

Hi,

When the webservice works from 1 client but not form the others, It might have to do with the encoding used by the client . E.g. I had once special characeters in my message and some client filtered them out but other client kept them asis resulting in errors in thez backend

Just a guess,

regards

Dirk