cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC TO SOAP

Former Member
0 Kudos

Hi,

we are using SAP PI for IDoc to SOAP scenario and getting following error now on SOAP Adapter;

Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to process request. ---> Object reference not set to an instance of an object.

Can anyone solve this problem?

Kind Regards,

PM

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to process request. ---> Object reference not set to an instance of an object.

1) Looks like the receiver side sending fault message or application error message and you might not have fault message mapping from target to sender as response. This could be one of the reasons.

2) Verify you are specifying right URL on the soap receiver channel. Use the same url and test it using soapui or xmlspy with the same data and see what you get response. In this way you know outside Pi what error we get.

Former Member
0 Kudos

Hi,

i have testet with SOAP UI successfully. Is there any restrictions for IDoc message transformations to SOAP? Because i created asyncronous Service Interface for SOAP Interface. May be i should send only synchronous?

Kind Regards,

PM

prateek
Active Contributor
0 Kudos

Idoc is always async. Therefore it is absolutely correct to use Async interface for SOAP. I hope you have used the wsdl message for the interface.

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

Hi,

yes i have used external message definition WSDL for Service Interface on receiver side and IDoc message type for sender side.

prateek
Active Contributor
0 Kudos

Is Soap Action used in your scenario?

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

yes here;

<wsdl:operation name="CreateSapCostCenter">

<soap12:operation soapAction="http://tempuri.org/CreateSapCostCenter" style="document" />

Testet with

SOAP Receiver Adapter

SOAP Action: http://tempuri.org/CreateSapCostCenter

Former Member
0 Kudos

Now we are getting following error;

Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server did not recognize the value of HTTP Header SOAPAction: .

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Are you expecting any response from soap service? if not then you dont need to worry about synchronous communication. What will happen if your webservice throw error for your data incorrect? How do you handle this?

prateek
Active Contributor
0 Kudos

Try CreateSapCostCenter.

Former Member
0 Kudos

Testet now with soap action = CreateSapCostCenter

same error;

Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server did not recognize the value of HTTP Header SOAPAction: .

Former Member
0 Kudos

Hi Baskar,

we don't need any response from SOAP service but i am getting error on Adapter engine.

prateek
Active Contributor
0 Kudos

Okay.

Logically, the error says that there is mismatch between what you send and what the web service expects. Now it could be anything but more probable is the message structure. Have you imported the wsdl as it is without any any modifications? This is very important. In the mapping, are you playing with headers? Or in the channel, have you used Do not use soap envelop or any option which can change message format sent?

Regards,

Prateek Raj Srivastava

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>Server did not recognize the value of HTTP Header SOAPAction: .

Just leave the action field on the channel blank.

Are you seeing response or fault message for your request message in the WSDL?

Former Member
0 Kudos

Hi,

prateek we use the same wsdl structure in SOAP UI and when i test it the message send successfully.

I am confused! Also on SOAP Receiver adapter i use only Target URL and soap action parts.

prateek
Active Contributor
0 Kudos

What is the URL? Is it same as that present in wsdl?

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

Hi,

SOAP ADAPTER TARGET URL : http://serverIP/WebService.asmx?WSDL

WSDL URL is;

<wsdl:port name="WebServiceSoap12" binding="tns:WebServiceSoap12">

<soap12:address location="http://serverIP/WebService.asmx" />

prateek
Active Contributor
0 Kudos

Remove ?WSDL and try again. Before trying, remove soap action as well and you can then try new combinations.

I think you were using incorrect URL and that was the reason.

Regards,

Prateek Raj Srivastava

Answers (0)