NoN*_*aMe 3 java soap netbeans web-services timeout
我正在开发一个基于桌面的应用程序,就像下拉框,我有一个downloadFile(long fileId)从web下载文件的功能,应用程序的桌面端是在java中写入Web服务的.Net
我使用netbeans生成了WS客户端
问题是: 有时会发生downloadFile(long fileId)功能卡住,
它背后的原因是什么,我希望如果Web服务功能在给定时间内没有给出任何响应,我会从该功能中取回控制并在一段时间后生成新的呼叫.是否可以使用java?
编辑我认为如果可以将请求时间设置为Web服务,但我不知道如何在netbeans生成的客户端中设置超时
在作为FileUploadWeb服务的根类(由netBeans生成)的类中,有一些超类的类和函数的构造函数,其中一个是我用来创建SOAP 对象的.那看起来像
@WebEndpoint(name = "FileUploadSoap")
public FileUploadSoap getFileUploadSoap() {
return super.getPort(new QName("http://svc.qleapahead.com/",
"FileUploadSoap"), FileUploadSoap.class);
}
Run Code Online (Sandbox Code Playgroud)
在这个功能中,我做了一些修改,以设置超时参数,这变得像
@WebEndpoint(name = "FileUploadSoap")
public FileUploadSoap getFileUploadSoap() {
FileUploadSoap fileUploadSoap = super.getPort(new QName(
"http://svc.qleapahead.com/", "FileUploadSoap"),
FileUploadSoap.class);
((BindingProvider) fileUploadSoap).getRequestContext().put(
"com.sun.xml.internal.ws.request.timeout", 1000 * 2 * 60);
return fileUploadSoap;
}
Run Code Online (Sandbox Code Playgroud)
问题解决了......
总之,这句话对我帮助很大
((BindingProvider) fileUploadSoap).getRequestContext().put(
"com.sun.xml.internal.ws.request.timeout", 1000 * 2 * 60);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11713 次 |
| 最近记录: |