on 03-16-2016 8:54 AM
we have three PI serve for development, testing and production separately.
We encountered an issue on the DEV an QAS PI server. All the synchronize service interfaces were not able to be processed. But the Asynchronize service interfaces were OK.
And the Production PI is OK to process both sync and async interface. For the setting in the ESB and IB, everything were the same.
Can any one have any idea about the root cause?
Hi Guys, thank you for the kind advises.
The issue was solved in a weird way. We tried all the possible way to solve the issue. All failed.
Finally, we rebooted the PI server. After that, everything got to be fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Please give the logs for the failed messages.
Is there any specific errors you are getting?
Regards,
Vikas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've used the SOAPUI to test.
there are errors like below in the SOAPUI.
Wed Mar 16 17:20:52 CST 2016:ERROR:java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
at org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)
at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doReceiveResponse(HttpClientSupport.java:151)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:246)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:356)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:234)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Hi Kangbo,
Can you check is this message reached to PI system? according to the error message it did not receive the response message, so you need to check did it reach PI system first, if reached where exactly failing, may be the receiver did not send the response, then check in receiver why the response did not send.
Regards,
Praveen.
Besides, If I change the quality of service of the communication channel to to Exactly once, the interface is processed OK. But if I changed it to be Best Effort. The interface call will be cancel in the PI. And the error message in PI is like:
2016-3-16 17:23:09.458 Error SOAP: Call failed: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 00021032-eb58-11e5-b558-0000006f9c76(OUTBOUND) expired.
2016-3-16 17:23:09.458 Error Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 00021032-eb58-11e5-b558-0000006f9c76(OUTBOUND) expired.
2016-3-16 17:23:09.458 Error MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 00021032-eb58-11e5-b558-0000006f9c76(OUTBOUND) expired.
2016-3-16 17:23:09.458 Error SOAP: Call failed: com.sap.aii.af.lib.mp.module.ModuleException: senderChannel ba782fc9568f369aacc4a474d6a23288: Catching exception calling messaging system
Hi Kangbo,
Check 2.2.7 in below document.
The parameter: 'xiadapter.inbound.timeout.default' is an Adapter Engine messaging system parameter. The value specifies how long the messaging system waits for a response during synchronous communication. If this time elapses, a "MessageExpired" exception is triggered
Regards,
Praveen.
Hi Praveen,
I've checked the property. It's OK.
And I've compared the setting of the PIP and the PID. All are the same.
Leave everything unchanged, if I changed to the service interface to be Async one. The message was processed OK. But if change it to be Sync, the PI was not able to process it.
Hi Kangbo,
Asynchronous in interface does not wait for response that is why it was successful but synchrnous interface wait for the response that is why it is failing with message message expired because it did not receive the response.
Configure TraceHTTP as per this blog then you can able to see the request and response from the receiver , you can check is the response is coming or not.
Regards,
Praveen.
User | Count |
---|---|
78 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.