2017-09-22 1 views
0

皆さん、私のWSO2 - ESBの問題でお手伝いできますか?WSO2 - ESB経由でのプロキシのポストリクエストの失敗

私のUAT環境では次のエラーが発生していますが、私のSIT環境では発生していません。なぜ私はCARファイルを変更したり、必要に応じて適切な設定をサーバに追加することができるのかというヒントが必要です。

クライアントがPost要求を行っているときに、タイムアウトエラーが発生しています。ログをチェックすると、ペイロードがJSONとして書き込めないというエラーが表示されます。これはGETリクエストでは起こりませんので、私は迷っています。また、リクエストがGET/POSTを使ってバックエンドで送信されていることを確認することもできます。

次のサーバは存在しないので、app03/app04というサーバに接続できないことに注意してください(私たちは2つのUATサーバを持っていますが、PRD環境では4つしかありません)。

私が理解できないのは、これがPost要求でのみ発生し、コードを変更したり、WSO2-ESBサーバーで何かを設定しなければならない理由です。

説明や追加情報については、お気軽にお問い合わせください。あなたの助け

カーボンログの

おかげ

TID: [-1234] [] [2017-09-22 09:12:03,608] INFO {org.apache.synapse.mediators.builtin.LogMediator} - Request: Target URL = /services/XXXX-ws_PS/payments/validate, Client IP = 172.22.222.156, Request ID = urn:uuid:0df0d876-6093-4479-9537-70bbbdf4d649 {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1234] [] [2017-09-22 09:12:04,029] INFO {org.apache.synapse.mediators.builtin.LogMediator} - Response: To = /services/XXXX-ws_PS/payments/validate, IP = 172.22.222.156, RequestID = urn:uuid:0df0d876-6093-4479-9537-70bbbdf4d649 {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1234] [] [2017-09-22 09:12:04,029] ERROR {org.apache.synapse.commons.json.JsonUtil} - #writeAsJson. Payload could not be written as JSON. MessageID: urn:uuid:3b69a0e3-f6b3-4e49-8d14-23d7596c2366 {org.apache.synapse.commons.json.JsonUtil} 
TID: [-1234] [] [2017-09-22 09:12:04,029] ERROR {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} - Failed to submit the response {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} 
org.apache.axis2.AxisFault: Payload could not be written as JSON. 
    at org.apache.synapse.commons.json.JsonUtil.writeAsJson(JsonUtil.java:263) 
    at org.apache.synapse.commons.json.JsonStreamFormatter.writeTo(JsonStreamFormatter.java:61) 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:555) 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:264) 
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 
    at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:222) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531) 
    at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337) 
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) 
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
    at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261) 
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
TID: [-1234] [] [2017-09-22 09:12:04,042] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.core.axis2.Axis2Sender} 
org.apache.axis2.AxisFault: Failed to submit the response 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:613) 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:266) 
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 
    at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:222) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531) 
    at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337) 
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) 
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
    at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261) 
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.axis2.AxisFault: Payload could not be written as JSON. 
    at org.apache.synapse.commons.json.JsonUtil.writeAsJson(JsonUtil.java:263) 
    at org.apache.synapse.commons.json.JsonStreamFormatter.writeTo(JsonStreamFormatter.java:61) 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:555) 
    at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:264) 
    ... 16 more 
TID: [-1234] [] [2017-09-22 09:12:04,047] ERROR {org.apache.synapse.mediators.builtin.LogMediator} - Error: To = /services/XXXX-ws_PS/payments/validate, IP = 172.22.222.156, RequestID = urn:uuid:0df0d876-6093-4479-9537-70bbbdf4d649 {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1234] [] [2017-09-22 09:12:20,541] INFO {org.apache.synapse.mediators.builtin.LogMediator} - Request: Target URL = /services/XXXX-ws_PS/institutions/details/00239, Client IP = 172.22.222.156, Request ID = urn:uuid:e5aca458-03a6-41b3-81b5-d409c5eaa66a {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1] [] [2017-09-22 09:12:20,542] WARN {org.apache.synapse.transport.passthru.ConnectCallback} - Connection refused or failed for : app03.XXXX.uat.XXX.com.ph:50209 {org.apache.synapse.transport.passthru.ConnectCallback} 
TID: [-1234] [] [2017-09-22 09:12:20,542] WARN {org.apache.synapse.endpoints.EndpointContext} - Endpoint : AnonymousEndpoint with address https://app03.XXXX.uat.XXX.com.ph:50209/XXXX-ws/ will be marked SUSPENDED as it failed {org.apache.synapse.endpoints.EndpointContext} 
TID: [-1234] [] [2017-09-22 09:12:20,542] WARN {org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : AnonymousEndpoint with address https://app03.XXXX.uat.XXX.com.ph:50209/XXXX-ws/ - last suspend duration was : 300000ms and current suspend duration is : 300000ms - Next retry after : Fri Sep 22 09:17:20 PHT 2017 {org.apache.synapse.endpoints.EndpointContext} 
TID: [-1234] [] [2017-09-22 09:12:20,542] WARN {org.apache.synapse.endpoints.LoadbalanceEndpoint} - Endpoint [XXXX-ws_LBEP] Detect a Failure in a child endpoint : AnonymousEndpoint {org.apache.synapse.endpoints.LoadbalanceEndpoint} 
TID: [-1] [] [2017-09-22 09:12:20,545] WARN {org.apache.synapse.transport.passthru.ConnectCallback} - Connection refused or failed for : app04.XXXX.uat.XXX.com.ph:50209 {org.apache.synapse.transport.passthru.ConnectCallback} 
TID: [-1234] [] [2017-09-22 09:12:20,545] WARN {org.apache.synapse.endpoints.EndpointContext} - Endpoint : AnonymousEndpoint with address https://app04.XXXX.uat.XXX.com.ph:50209/XXXX-ws/ will be marked SUSPENDED as it failed {org.apache.synapse.endpoints.EndpointContext} 
TID: [-1234] [] [2017-09-22 09:12:20,546] WARN {org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : AnonymousEndpoint with address https://app04.XXXX.uat.XXX.com.ph:50209/XXXX-ws/ - last suspend duration was : 300000ms and current suspend duration is : 300000ms - Next retry after : Fri Sep 22 09:17:20 PHT 2017 {org.apache.synapse.endpoints.EndpointContext} 
TID: [-1234] [] [2017-09-22 09:12:20,546] WARN {org.apache.synapse.endpoints.LoadbalanceEndpoint} - Endpoint [XXXX-ws_LBEP] Detect a Failure in a child endpoint : AnonymousEndpoint {org.apache.synapse.endpoints.LoadbalanceEndpoint} 
TID: [-1234] [] [2017-09-22 09:12:20,785] INFO {org.apache.synapse.mediators.builtin.LogMediator} - Response: To = /services/XXXX-ws_PS/institutions/details/00239, IP = 172.22.222.156, RequestID = urn:uuid:e5aca458-03a6-41b3-81b5-d409c5eaa66a {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1] [] [2017-09-22 09:15:03,802] WARN {org.apache.synapse.transport.passthru.SourceHandler} - Connection time out after request is read: http-incoming-49847 Socket Timeout : 180000 Remote Address : h02610a24.ho.ad.XXX/172.22.222.156:58409 {org.apache.synapse.transport.passthru.SourceHandler} 
TID: [-1234] [] [2017-09-22 09:30:09,430] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /, MessageID: urn:uuid:d233e911-f717-4d42-a24c-eca0e7c32768, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator} 
TID: [-1] [] [2017-09-22 09:47:24,248] ERROR {org.apache.synapse.transport.passthru.SourceHandler} - I/O error: Unrecognized SSL message, plaintext connection? {org.apache.synapse.transport.passthru.SourceHandler} 
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
    at sun.security.ssl.EngineInputRecord.bytesInCompletePacket(EngineInputRecord.java:156) 
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:868) 
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781) 
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) 
    at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:245) 
    at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:280) 
    at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:410) 
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119) 
    at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159) 
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338) 
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316) 
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277) 
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105) 
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586) 
    at java.lang.Thread.run(Thread.java:745) 
TID: [-1234] [] [2017-09-22 10:00:14,936] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /, MessageID: urn:uuid:d5e87ee5-d83b-4ded-8110-b64dd01ce08f, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator} 

プロキシコード

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="XXXX-ws_PS" startOnLoad="true" transports="https http" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
     <inSequence> 
      <property description="targetURL" expression="get-property('To')" name="targetURL" scope="default" type="STRING"/> 
      <property description="clientIP" expression="get-property('axis2','REMOTE_ADDR')" name="clientIP" scope="default" type="STRING"/> 
      <property description="requestID" expression="get-property('MessageID')" name="requestID" scope="default" type="STRING"/> 
      <log description="requestLog" level="custom"> 
       <property expression="get-property('targetURL')" name="Request: Target URL"/> 
       <property expression="get-property('clientIP')" name="Client IP"/> 
       <property expression="get-property('requestID')" name="Request ID"/> 
      </log> 
      <send description=""> 
       <endpoint key="XXXX-ws_LBEP"/> 
      </send> 
     </inSequence> 
     <outSequence> 
      <log description="resposeLog" level="custom"> 
       <property expression="get-property('targetURL')" name="Response: To"/> 
       <property expression="get-property('clientIP')" name="IP"/> 
       <property expression="get-property('requestID')" name="RequestID"/> 
      </log> 
      <send/> 
     </outSequence> 
     <faultSequence> 
      <log category="ERROR" description="errorLog" level="custom"> 
       <property expression="get-property('targetURL')" name="Error: To"/> 
       <property expression="get-property('clientIP')" name="IP"/> 
       <property expression="get-property('requestID')" name="RequestID"/> 
      </log> 
     </faultSequence> 
    </target> 
</proxy> 

エンドポイントコード

<?xml version="1.0" encoding="UTF-8"?> 
<endpoint name="XXXX-ws_LBEP" xmlns="http://ws.apache.org/ns/synapse"> 
    <loadbalance algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin"> 
     <endpoint> 
      <http uri-template="https://app01.XXXX.uat.XXX.com.ph:50209/XXXX-ws/"> 
       <timeout> 
        <duration>600000</duration> 
        <responseAction>fault</responseAction> 
       </timeout> 
       <suspendOnFailure> 
        <initialDuration>300000</initialDuration> 
        <progressionFactor>1.0</progressionFactor> 
        <maximumDuration>1800000</maximumDuration> 
       </suspendOnFailure> 
       <markForSuspension> 
        <retriesBeforeSuspension>3</retriesBeforeSuspension> 
        <retryDelay>30000</retryDelay> 
       </markForSuspension> 
      </http> 
     </endpoint> 
     <endpoint> 
      <http uri-template="https://app02.XXXX.uat.XXX.com.ph:50209/XXXX-ws/"> 
       <timeout> 
        <duration>600000</duration> 
        <responseAction>fault</responseAction> 
       </timeout> 
       <suspendOnFailure> 
        <initialDuration>300000</initialDuration> 
        <progressionFactor>1.0</progressionFactor> 
        <maximumDuration>1800000</maximumDuration> 
       </suspendOnFailure> 
       <markForSuspension> 
        <retriesBeforeSuspension>3</retriesBeforeSuspension> 
        <retryDelay>30000</retryDelay> 
       </markForSuspension> 
      </http> 
     </endpoint> 
     <endpoint> 
      <http uri-template="https://app03.XXXX.uat.XXX.com.ph:50209/XXXX-ws/"> 
       <timeout> 
        <duration>600000</duration> 
        <responseAction>fault</responseAction> 
       </timeout> 
       <suspendOnFailure> 
        <initialDuration>300000</initialDuration> 
        <progressionFactor>1.0</progressionFactor> 
        <maximumDuration>1800000</maximumDuration> 
       </suspendOnFailure> 
       <markForSuspension> 
        <retriesBeforeSuspension>3</retriesBeforeSuspension> 
        <retryDelay>30000</retryDelay> 
       </markForSuspension> 
      </http> 
     </endpoint> 
     <endpoint> 
      <http uri-template="https://app04.XXXX.uat.XXX.com.ph:50209/XXXX-ws/"> 
       <timeout> 
        <duration>600000</duration> 
        <responseAction>fault</responseAction> 
       </timeout> 
       <suspendOnFailure> 
        <initialDuration>300000</initialDuration> 
        <progressionFactor>1.0</progressionFactor> 
        <maximumDuration>1800000</maximumDuration> 
       </suspendOnFailure> 
       <markForSuspension> 
        <retriesBeforeSuspension>3</retriesBeforeSuspension> 
        <retryDelay>30000</retryDelay> 
       </markForSuspension> 
      </http> 
     </endpoint> 
    </loadbalance> 
</endpoint> 

答えて

0

'targetURL'の使用が正しくありません。代わりにそう<send>でエンドポイントを定義

<send> 
    <endpoint key="XXXX-ws_LBEP" /> 
</send> 
+0

のようなものは、申し訳ありませんが、私は、コードをコピーした際にESB日食ツールがまだ更新されたコードをコピーしてミスを犯しました。それは今でも含まれていますが、もう一度適切なコードがSIT環境で動作していますが、何らかの理由でPOSTリクエストが通過しません。 –