问一个Web service的问题
客户端调用Web Service,服务端程序需要运行较长时间(10分钟左右),结果服务器端
执行完以后抛出异常:java.io.IOException:Stream closed
请问有人碰到过这个问题么?怎么解决呢?谢谢!
附测试代码
服务端:
package plg.paper.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.ParameterStyle;
@SOAPBinding(parameterStyle = ParameterStyle.BARE)
@WebService(targetNamespace = "http://www.wenly.ws", serviceName =
"helloService", name = "sayHello")
public class Hello {
@WebMethod
public String sayHello(String name) {
public String sayHello(String name) {
try {
// Wait 10 minutes
Thread.sleep(1000 * 60 * 10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("[server]hello, " + name);
return "hello, " + name;
}
}
客户端调用方法:
HelloService helloService = new HelloService();
SayHello sayHelloPort = helloService.getSayHelloPort();
((BindingProvider) sayHelloPort).getRequestContext().put(
BindingProviderProperties.CONNECT_TIMEOUT, 1000 * 60 * 100);
((BindingProvider) sayHelloPort).getRequestContext().put(
BindingProviderProperties.REQUEST_TIMEOUT, 1000 * 11);
System.out.println(sayHelloPort.sayHello("wenly"));