2016-08-03 21 views
0

Ich habe einen Proxy-Dienst, der einen Web-Service aufruft. manchmal sendet es den Fehlercode 303001 und nach der Aktualisierung funktioniert es wieder. Mein Geist der Aktualisierung ist, ich öffne Admin-Panel in der Liste der Service wählen Sie Design-Ansicht meines Dienstes und klicken Sie auf Next Next Finish. nach diesem Servicearbeiten korrekt und nach 1 Stunde wirft es Fehlercode aus meinem Dienst:Ausführen der Standardfehlersequenz Fehlercode 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

Sie sollten nach dem Sende-Mediator keine Mediatoren hinzufügen. Kannst du alle Log-Mediatoren nach dem Sende-Mediator entfernen und überprüfen. Auch ein vollständiger Stack-Trace könnte hilfreich sein, um das Problem zu beheben. – ycr

+0

Der Fehlercode 303001 [1] scheint anzuzeigen, dass ein Problem mit dem Adressendpunkt vorliegt. Können Sie überprüfen, ob der Endpunkt zu jeder Zeit aktiv ist? [1] https://docs.wso2.com/display/ESB451/Error+Handling+and+Error+Codes –

+0

ja jason ist immer aktiv. Hat es irgendein Problem mit der Version der Seife? – behzad

Antwort

1

303001 = Adresse Endpoint nicht bereit ist

Vielleicht wegen Organ-/Firewall verbinden?

Sie irren sich, dass Ihr Endpunkt immer aktiv ist: Verwenden Sie einen benannten Endpunkt anstelle Ihres anonymen und schauen Sie sich die wso2-Webkonsole an: Ich denke, sie wird deaktiviert (die "Aktion" wird "Einschalten")

In Ihrem Fall ist bei einem anonymen Endpunkt beim Bearbeiten/Speichern Ihres Proxy der Endpunkt aktiviert.

Wenn Sie Ihren Endpunkt nicht so etwas wie dies ausgesetzt werden hinzufügen:

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

Wenn Sie einen bestimmten Timeout, nicht Ihre Endpunkt verwalten möchten etwas wie folgt hinzu:

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

Sie haben Recht. Ich habe einen anonymen Endpunkt verwendet und nach vielen Transaktionen abgeschaltet. Ich habe ihn in den benannten Endpunkt geändert und er hat korrekt funktioniert. tanx – behzad