相关疑难解决方法(0)

如何设置JAX-WS Web服务客户端的超时?

我已经使用JAXWS-RI 2.1基于WSDL为我的Web服务创建了一个接口.我可以与Web服务进行交互没有问题,但是无法指定向Web服务发送请求的超时.如果由于某种原因它没有响应客户端似乎永远旋转它的轮子.

狩猎已经显示我应该尝试做这样的事情:

((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout", 10000);
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000);
Run Code Online (Sandbox Code Playgroud)

我还发现,根据您拥有的JAXWS-RI版本,您可能需要设置这些属性:

((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10000);
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.connect.timeout", 10000);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,无论上述哪一项是正确的,我都不知道我能在哪里做到这一点.我所拥有的只是一个Service子类,它实现了自动生成的webservice接口,并且实现了这一点,如果WSDL没有响应,那么设置属性已经太晚了:

MyWebServiceSoap soap;
MyWebService service = new MyWebService("http://www.google.com");
soap = service.getMyWebServiceSoap();
soap.sendRequestToMyWebService();
Run Code Online (Sandbox Code Playgroud)

任何人都能指出我正确的方向吗?!

java soap web-services timeout jax-ws

88
推荐指数
6
解决办法
22万
查看次数

如何设置Web服务客户端的请求时间(java)

我正在开发一个基于桌面的应用程序,就像下拉框,我有一个downloadFile(long fileId)从web下载文件的功能,应用程序的桌面端是在java中写入Web服务的.Net

我使用netbeans生成了WS客户端

问题是: 有时会发生downloadFile(long fileId)功能卡住,

它背后的原因是什么,我希望如果Web服务功能在给定时间内没有给出任何响应,我会从该功能中取回控制并在一段时间后生成新的呼叫.是否可以使用java?

编辑我认为如果可以将请求时间设置为Web服务,但我不知道如何在netbeans生成的客户端中设置超时

java soap netbeans web-services timeout

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

soap ×2

timeout ×2

web-services ×2

jax-ws ×1

netbeans ×1