2016-10-06 5 views
0

ich den externen Web-Service von der Java-Komponente nenne die CXF Client-Proxy unter Verwendung, wie beschrieben in: https://docs.mulesoft.com/mule-user-guide/v/3.7/consuming-web-services-with-cxf#building-a-client-proxymule web service cxf client anruf, heiß zu erhöhen timeout?

Es Standardausführung wird auf 10 Sekunden eingestellt, aber der Web-Service kann manchmal mehr Zeit abzuschließen . Ich habe versucht, die Zeit zu erhöhen mit:

ClientBuilder.newClient().property("http.receive.timeout", 600000); 

, aber es hat nicht geholfen. Wie können Sie das Timeout erhöhen, indem Sie das obige Beispiel verwenden?

Antwort

1
sun.net.client.defaultConnectTimeout (default: -1 (forever)) 
sun.net.client.defaultReadTimeout (default: -1 (forever)) 

Dies gilt für alle getätigten Anrufe.

oder Sie können versuchen, das Timeout im Kontext festzulegen.

Map<String, Object> requestContext = (BindingProvider)myInterface).getRequestContext(); 
requestContext.put(BindingProviderProperties.REQUEST_TIMEOUT, 3000); // Timeout in millis 
requestContext.put(BindingProviderProperties.CONNECT_TIMEOUT, 1000); // Timeout in millis 
0

Sie den responseTimeout Parameter verwenden, könnte das Timeout zusammen mit der Endpunkt-URL zu übergeben. Dies gibt Ihnen mehr Flexibilität in dem Sinne, dass Sie nicht mit der Einstellung defaultTimeout verbunden sind. Bitte beachten Sie die hier verlinkte Antwort.

http response timeout

+0

Das Problem ist, dass der ws Anruf von innerhalb der Java-Komponente durchgeführt wird, nicht von der ws-Verbraucher-Komponente –