1

我有一个调用另一个 WS 的 JAX-WS(客户端已使用 JAX-WS 构建)。我的目标是设置调用超时。我知道我可以使用:

BindingProviderProperties.CONNECT_TIMEOUT
BindingProviderProperties.REQUEST_TIMEOUT

public static final java.lang.String CONNECT_TIMEOUT =  "com.sun.xml.internal.ws.connect.timeout";
public static final java.lang.String REQUEST_TIMEOUT = "com.sun.xml.internal.ws.request.timeout";

但是这些指向 com.sun.xml.* 类,根据 Oracle 的说法,这被认为是一种非常糟糕的做法,因为这些类没有文档记录,可能会更改或被删除。来源:www.oracle.com/technetwork/java/faq-sun-packages-142232.html

有人可以指出我如何在不违反 Oracle 准则的情况下设置调用超时吗?

4

2 回答 2

2

相反,您应该使用:

javax.xml.ws.client.connectionTimeout
javax.xml.ws.client.receiveTimeout

您可以在此处找到更多信息/示例:https ://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/Develop_a_JAX-WS_Client_Application.html

于 2013-06-20T15:15:04.087 回答
0

您可以尝试在本页末尾定义的 WS 客户端中设置超时属性:http: //docs.oracle.com/cd/E13222_01/wls/docs92/webserv/client.html

于 2013-06-20T14:22:34.703 回答