cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Request not reaching to 3rd party system

praveen_vanga3
Participant
0 Kudos
691

Hi , I have a secenario where SOAP request sending to 3rd party system. It's synchronous secenario ( SOAP - SOAP ). In PI Audit log says messages are delivered status with error 'error in response'. in this particular context in SAP PI and 3rd party systems, what are the pre requites to check before sending a message? I have used basic authentication at receiver communication channel. Could you please explain technical possibilities required for sending and receiving system?

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Praveen,

Any messages with delivered status with error 'error in response' is due to the late response from 3rd Party system. The message from PI is successfully sent to 3rd party system but no response is received. Please check with 3rd Party system team if message was received

former_member190293
Active Contributor
0 Kudos

Hi Shamala!

As far as I remember "error in response" status can be received when HTTP response code is not "HTTP 200 OK". Also it was said above that call from SOAP UI is performed without any error.

Regards, Evgeniy.

JaySchwendemann
Active Contributor
0 Kudos

I second Harish's suggestion. By far the fastest way to tackle any initial misconfigurations in a SOAP scenario.

In addition you could increase logging, depending of course on your PI version and if you are on double stack or single java stack (AEX).

On AEX you would go to the iFlow or ICO (depending on whichever you use) and increase logging there to always log. Then you would also get access to the response message with a hopefully meaningful error from the receiver system.

HTH

Cheers Jens

Harish
Active Contributor
0 Kudos

Hi Praveen,

Did you try to trigger the webservice via external tools like Soapui? it is always good to access the webservice from soapui to test the connectivity and type of authentication.

regards,

Harish

praveen_vanga3
Participant
0 Kudos

Hi Harish,

I have tested with SOAP UI, It's working fine... When I create a secenario , it's not working ... So what could be the reason. Do I need to check with Basis or Network teams? In PI...I can see messages are delivered successfully. Can you tell me basic things i.e any network related issues which we consider for web service scenarios.

Thank you

Praveen

former_member190293
Active Contributor
0 Kudos

Hi Praveen!

Take your payload after mapping and provide it as request message in SOAP UI. If you get error in response - this means that message sent from PI to third-party system is incorrect.

Regards, Evgeniy.

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

You mean to say , I have to get the payload from message mapping and use that payload in the SOAP UI , Is it right? How about SOAP envelopes , header and Body?

Thanks

Praveen

former_member190293
Active Contributor
0 Kudos

Hi Praveen!

Yes, take your result payload and place it inside SOAP Body element in SOAP UI request.

Regards, Evgeniy.

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

I have tried but I don't know , Did the right thing? Could you please explain in detail?

When I open SOAP UI the request look like below.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ABC">
<soapenv:Header/>
<soapenv:Body>
<urn:listFiles/>
</soapenv:Body>
</soapenv:Envelope>

You said that get the result payload . I took the result payload from the message mapping.. below is the pay load.

<?xml version="1.0" encoding="UTF-8"?>
<ns0:listFiles xmlns:ns0="urn:ABC">abc.txt</ns0:listFiles>

then I have placed in SOAP Body element in SOAP UI ... below is the code

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ABC">
<soapenv:Header/>
<soapenv:Body>
<?xml version="1.0" encoding="UTF-8"?>
<ns0:listFiles xmlns:ns0="urn:ABC">abc.txt</ns0:listFiles>
</soapenv:Body>
</soapenv:Envelope>

tried getting an error ... even removed

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

Can you guide me ? what needs to be kept in between body based on my source and SOAP UI pay load.

Thanks

Praveen

former_member190293
Active Contributor
0 Kudos

Hi Praveen!

According to SOAP UI request message structure your request should look like:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="urn:ABC">
<soapenv:Header/>
<soapenv:Body>
<ns0:listFiles>abc.txt</ns0:listFiles>
</soapenv:Body>
</soapenv:Envelope>

Regards, Evgeniy

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

I got the same error which I got it earlier. below is the error.

Thanks

Praveen

former_member190293
Active Contributor
0 Kudos

Hi Praveen!

HTTP 500 status means that server encountered some kind of error while processing your request message. In most cases this mean that you send data to webservice in incorrect format. Check your web service request message definition against your actual message structure.

Regards, Evgeniy.

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

Where should I check? I have checked in SOAP UI for direct usage of WSDL( Direct WSDL from the customer ) at that time it's working fine. I am able to get the response. if the same thing If I run it (WSDL genaearated from PI and tested with SOAP UI ) then I am getting the that error.

Thanks

Praveen

former_member190293
Active Contributor
0 Kudos

Wouldn't you please provide the screenshot with request message in SOAP UI created upon WSDL definition?

Regards, Evgeniy.

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

As per wsdl genareated through SAP PI, The below is the request:

The below is the request which is tested in SOAP UI with direct WSDL ( not through SAP PI)

Thanks

Praveen

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

The below is the request log from the customer for the direct execution wsdl.

<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:urn='urn:ABC'>
<soapenv:Header>
<wsse:Security xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-util
ity-1.0.xsd'>
<wsse:UsernameToken wsu:Id='UsernameToken-951148BC7769ED552014912360477906'>
<wsse:Username>XXXXX</wsse:Username>
<wsse:Password Type='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'>XXXX</wsse:Password>
<wsse:Nonce EncodingType='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary'>fC8Hub1YyjBWYvKA6TdQ9w==</wsse:Nonce>
<wsu:Created>2017-04-03T16:14:07.790Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<urn:listFiles xmlns:urn='urn:ABC'/>
</soapenv:Body>
</soapenv:Envelope>

For the user token , how can we set in the receiver soap channel. I have set the basic authentication , Is the basic authentication and

wsse:UsernameToken are same?

Thanks

Praveen

Harish
Active Contributor

Hi Praveen

This seems to be a data issue because when you triggered the message with blank payload it retrieves two file names "teste.txt" and "doc_teste.rtf". I would suggest modifying the value of listFiles in input payload to this values and test again from SOAPUI.

for example try with below payload

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="urn:ABC"> <soapenv:Header/> <soapenv:Body> <ns0:listFiles>teste.txt</ns0:listFiles> </soapenv:Body> </soapenv:Envelope>

regards,

Harish

former_member190293
Active Contributor
0 Kudos

In addition to Harish's suggestion: try to send empty request from PI, without setting any file name, just like in your direct SOAP UI request.

Regards, Evgeniy.

praveen_vanga3
Participant
0 Kudos

Hi Evgeniy,

Tried with empty request too. No change

Thanks

Praveen