Skip to Content
0

SOAP Request not reaching to 3rd party system

Apr 03, 2017 at 02:50 PM

230

avatar image

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?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Harish Mistri Apr 03, 2017 at 11:25 PM
0

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

Show 15 Share
10 |10000 characters needed characters left characters exceeded

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

0

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.

0

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

0

Hi Praveen!

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

Regards, Evgeniy.

0

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

0

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

0

Hi Evgeniy,

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

Thanks

Praveen

anjmi.png (4.7 kB)
d3hw2.png (4.4 kB)
jemmg.png (12.6 kB)
0

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.

0

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

0

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

Regards, Evgeniy.

0

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

ftim0.png (7.9 kB)
i74re.png (28.9 kB)
0

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

http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="urn:ABC"> teste.txt

regards,

Harish

1

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.

0

Hi Evgeniy,

Tried with empty request too. No change

Thanks

Praveen

0

Hi Evgeniy,

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


<soapenv:Header>

ity-1.0.xsd'>
<wsse:UsernameToken wsu:Id='UsernameToken-951148BC7769ED552014912360477906'>
<wsse:Username>XXXXX</wsse:Username>
XXXXhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'>XXXX>
fC8Hub1YyjBWYvKA6TdQ9w==http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary'>fC8Hub1YyjBWYvKA6TdQ9w==>
<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

0
Jens Schwendemann Apr 04, 2017 at 06:18 AM
0

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

Share
10 |10000 characters needed characters left characters exceeded
Shamala Thimmaraju Apr 04, 2017 at 06:56 PM
0

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

Show 1 Share
10 |10000 characters needed characters left characters exceeded

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.

0