Ich habe JAXWS-RI 2.1 verwendet, um eine Schnittstelle für meinen Webdienst basierend auf einer WSDL zu erstellen. Ich kann problemlos mit dem Webdienst interagieren, konnte jedoch kein Zeitlimit für das Senden von Anforderungen an den Webdienst angeben. Wenn es aus irgendeinem Grund nicht reagiert, scheint der Kunde nur für immer die Räder zu drehen.
Das Herumjagen hat gezeigt, dass ich wahrscheinlich versuchen sollte, so etwas zu tun:
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout", 10000);
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000);
Ich habe auch festgestellt, dass Sie je nach Version von JAXWS-RI möglicherweise stattdessen folgende Eigenschaften festlegen müssen:
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10000);
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.connect.timeout", 10000);
Das Problem, das ich habe, ist, dass ich nicht weiß, wo ich das tun kann , unabhängig davon, welche der oben genannten Aussagen richtig ist . Ich habe nur eine Service
Unterklasse, die die automatisch generierte Schnittstelle zum Webservice implementiert. Wenn die WSDL nicht mehr reagiert, ist es bereits zu spät, die Eigenschaften festzulegen:
MyWebServiceSoap soap;
MyWebService service = new MyWebService("http://www.google.com");
soap = service.getMyWebServiceSoap();
soap.sendRequestToMyWebService();
Kann mich jemand in die richtige Richtung weisen?!