cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Communication channel in error.

Former Member
0 Kudos

Hi Experts,

I have a SOAP to SOAP scenario ,it worked fine in DEV and QA . But the problem started in Prod.

problem :- When the customer uploads data in URL it reaches PI , PI processing it fine to the target url but it is posting the same message several times (Duplication in the target side by PI.)but still I see in the PI logs as  "Message status set to NDLV"

Logs from PI:-

Delivery of 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:
java.net.SocketTimeoutException: Read timed out

Kindly help me how the PI SOAP Communication channel works in sender and receiver end .

*****In what way PI gets the data 1)Push (by source )or Pick by PI channel (But I see no polling interval in the SOAP Channel).

*****As well in receiver end how it sends the data .

Kindly explain me in vivid .

Thanks in Advance,

Vijay Kumar K.V.N.

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member184720
Active Contributor
0 Kudos

In what way PI gets the data 1)Push (by source )or Pick by PI channel (But I see no polling interval in the SOAP Channel).

It is Push. Webservice provided by PI will be invoked by the client application to trigger the data

*****As well in receiver end how it sends the data .

For any receiver, it would always be a push. PI will push the data to your target wsdl.

When it comes to your error, Did you see anything else in the audit log?

Your webservice might be receiving duplicates as the adapter engine tries to deliver the message three times before it's sets the status to NDLV

Further have a look at the below SAP note -

1394546 - Socket and connection issues in Java Web services

Former Member
0 Kudos

HI Harish,

Many thanks for your quick response,

There is no duplication to PI , I haven't seen any message with the same data. but when PI tried to Push the data to the target url it have the logs as mentioned above .

***But it successfully posted to URL , still the message logs sets to NDLV, so the message is in System error.

***Still the message tries to post to the target URL until it gets the status as DLVD , so please suggest me how to stop sending that particular message.

Thanks,

Vijay Kumar

former_member184720
Active Contributor
0 Kudos

Hi Vijay - I'm not saying that you are receiving duplicates into PI.

I assume - PI is able to connect and invoke that web service but during the message processing, web server is unable to maintain the connection.

So PI tried to process the same message up to 3times(default) to that web service before it sets the status to NDLV.

If you had followed the suggested note

Read timeout occurs at the consumer side when the system waits for a server response. Servers have a timeout value beyond which they do not maintain an inactive connection. Proxy servers may extend this value.

For more information, see note 826419, "Setting socket read timeout for Web service clients"


Possible reasons -


java.net.SocketTimeoutException: Read timed out

- Check the HTTP proxy settings on your application server. (Note 1144698)

- Check if there is a firewall in your network.

- Check if the application server and the network are busy.

- Use a network protocol analyzer to review the actual network packets.


So check with your web service admin/end system to see if they can increase the corresponding value.

former_member184720
Active Contributor
0 Kudos

Also make use of the TCP gateway to trace/analyze the issue with web service communication