Montag, Januar 27, 2020

Wie setzen JAX-WS-client-timeout?

Ich bin die Entwicklung von Jax-ws-client auf Jboss 5.1.0 GA.
Ich möchte von web-service-client-timeout.

Habe ich versucht, StubExt.PROPERTY_CLIENT_TIMEOUT.

int timeoutMillisecond=3000;
bp.getRequestContext().put(StubExt.PROPERTY_CLIENT_TIMEOUT, timeoutMillisecond);

Funktioniert es aber-Ausnahme wird ausgelöst, erst nach 3*timeoutMillisecond (nach 9000 Millisekunden), aber 3000ms ist geschrieben in der log-Datei.

2012-12-24 15:42:40,053 DEBUG Sending request
2012-12-24 15:42:49,057 ERROR WebServiceException returned: 
javax.xml.ws.WebServiceException: org.jboss.ws.core.WSTimeoutException: Timeout after: 3000ms

Habe ich rtied auch viele andere Möglichkeiten

bp.getRequestContext().put("com.sun.xml.ws.connect.timeout", 100);
bp.getRequestContext().put("com.sun.xml.ws.request.timeout", 100);
//from com.sun.xml.ws.developer.JAXWSProperties
bp.getRequestContext().put(JAXWSProperties.CONNECT_TIMEOUT, 100);
bp.getRequestContext().put(JAXWSProperties.REQUEST_TIMEOUT, 100);

Aber nichts funktionierte auf Jboss 5.1


Könnten Sie mir sagen, wie client-timeout richtig ?

InformationsquelleAutor mariami | 2012-12-24

3 Kommentare

  1. 2

    du bist vollständig fehlt der Punkt, check out code:

    URL URL = new URL(„http://tst.com:9990/ws/hello?wsdl„);

        //1st argument service URI, refer to wsdl document above
    //2nd argument is service name, refer to wsdl document above
        QName qname = new QName("http://tstsoap/", "HelloWorldImplService");
    
        Service service = Service.create(url, qname);
    
       HelloWorld hello = service.getPort(HelloWorld.class);

    Wie Sie sehen können, können Sie nicht bekommen ein Hafen ohne die Schaffung eines service-ersten.

    Also der timeout tritt immer in den Dienst der Schöpfung.
    Daher ist die Festlegung einer Zeit für den port ist sinnlos…….
    Braucht jemand nach etwas, was über service-timeouts….nicht port timeouts….
    Es sei denn, jemand kann beweisen, mich nicht falsch….

  2. 1

    Habe ich die folgenden Schritte und das problem behoben:

    1. Aktualisiert jbossws-native Bibliothek, Folgen Sie diesem link.

      jbossws-native-3.4.0 ist die Letzte unterstützte version für Jboss 5.1.0 GA. Sie können sehen, JBossWS – Unterstützte Ziel-Container

    2. Verwendet StubExt.PROPERTY_CLIENT_TIMEOUT

      int timeoutMillisecond=3000;
      bp.getRequestContext().put(StubExt.PROPERTY_CLIENT_TIMEOUT, timeoutMillisecond);

    Durch die Art und Weise, in dieser version StubExt.PROPERTY_CONNECTION_TIMEOUT funktioniert auch einwandfrei.

  3. 0

    Können Sie diese Einstellungen für Ihren service-port.

    BindingProvider bindingProvider = (BindingProvider) YOUR_SERVICE_PORT;
    Map<String, Object> context = bindingProvider.getRequestContext();
    context.put(BindingProviderProperties.CONNECT_TIMEOUT, 3*1000);
    context.put(BindingProviderProperties.REQUEST_TIMEOUT,3*1000);
    • so ziemlich der gleiche code, den er versucht…
    • Es funktioniert nicht 🙁 Meine application server ist Jboss 5.1 GA

Kostenlose Online-Tests