2016-08-03 11 views
0

私はWebサービスを呼び出すプロキシサービスを持っています。場合によってはエラーコード303001を送信し、リフレッシュ後に再び動作します。リフレッシュの私の心は、サービスのリストの管理パネルを開いて私のサービスのデザインビューを選択し、次の次のフィニッシュをクリックすることです。そのサービスの仕事の後に正しく、1時間後に、それは私のサービスをエラーコード を捨てる:デフォルトのフォルトシーケンスエラーコード303001を実行しています。wso2 esb

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
    name="BillVerification" 
    transports="https,http" 
    statistics="disable" 
    trace="disable" 
    startOnLoad="true"> 
<target> 
    <inSequence> 
    <class name="org.sample.mediators.citydi.HashMediatorCityDI"/> 
    <log level="full" category="FATAL"> 
     <property name="fprever" value="justyou"/> 
    </log> 
    <property name="DISABLE_CHUNKING" 
       value="true" 
       scope="axis2" 
       type="STRING"/> 
    <send> 
     <endpoint> 
      <address uri="http://checkbill2.citydi.net/CheckBill.asmx?wsdl" format="soap12"> 
       <suspendOnFailure> 
       <initialDuration>100000000</initialDuration> 
       <progressionFactor>1.0</progressionFactor> 
       <maximumDuration>100000000</maximumDuration> 
       </suspendOnFailure> 
      </address> 
     </endpoint> 
    </send> 
    <log level="full" category="FATAL"> 
     <property name="send1" value="send1"/> 
    </log> 
    </inSequence> 
    <outSequence> 
    <log level="full"> 
     <property name="beforeSENDout" value="2"/> 
    </log> 
    <send/> 
    <log level="full" category="FATAL"> 
     <property name="send2" value="send2"/> 
    </log> 
    </outSequence> 
</target> 
<publishWSDL uri="http://checkbill2.citydi.net/CheckBill.asmx?wsdl"/> 
<description/> 
</proxy> 
+0

送信メディエータの後にメディエータを追加しないでください。送信メディエーターとチェックの後にすべてのLogメディエーターを削除できますか?また、完全なスタックトレースが問題をデバッグするのに役立つかもしれません。 – ycr

+0

エラーコード303001 [1]は、アドレスエンドポイントに問題があることを示しているようです。エンドポイントが常にアクティブであることを確認できますか?[1] https://docs.wso2.com/display/ESB451/Error+Handling+and+Error+Codes –

+0

はいjason常に有効です。それは石鹸のバージョンで何か問題がありますか? – behzad

答えて

1

303001 =住所エンドポイントがあるため、企業のプロキシ/ファイアウォールのおそらく

を接続する準備ができていないのですか?

あなたのエンドポイントは常にアクティブです:匿名のエンドポイントではなく名前付きエンドポイントを使用し、wso2 Webコンソールを見てください:それは非アクティブになると思います(「アクション」は「スイッチオン」になります)

匿名エンドポイントの場合、プロキシを編集/保存すると、エンドポイントが有効になります。

あなたのエンドポイントがこのような何かを追加中断したくない場合は:あなたはこのような何かを追加し、あなたのエンドポイントは、特定のタイムアウトを管理したくない場合は

<suspendOnFailure> 
    <errorCodes>-1</errorCodes> 
    <initialDuration>0</initialDuration> 
    <progressionFactor>1.0</progressionFactor> 
    <maximumDuration>0</maximumDuration> 
</suspendOnFailure> 

を:

<markForSuspension> 
    <errorCodes>-1</errorCodes> 
    <retriesBeforeSuspension>0</retriesBeforeSuspension> 
    <retryDelay>0</retryDelay> 
</markForSuspension> 
+0

あなたは正しいです。私は匿名のエンドポイントを使用し、多くのトランザクションの後にスイッチを切って、名前を付けられたエンドポイントに変更し、正常に機能しました。タンクス – behzad