JAXWS-RI 2.1을 사용하여 WSDL을 기반으로 웹 서비스 용 인터페이스를 만들었습니다. 웹 서비스와 아무 문제없이 상호 작용할 수 있지만 웹 서비스에 요청을 보내는 시간 제한을 지정할 수 없습니다. 어떤 이유로 든 응답하지 않으면 클라이언트가 바퀴를 영원히 돌리는 것처럼 보입니다.
주위의 사냥을 통해 아마도 다음과 같은 것을 시도해야 할 것입니다.
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout", 10000);
((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000);
또한 보유하고있는 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);
내가 가진 문제는 위의 어느 것이 옳든 상관없이 어디서 이것을 할 수 있는지 모르겠다 는 것입니다. 내가 가진 것은 Service
웹 서비스에 대한 자동 생성 인터페이스를 구현 하는 하위 클래스이며 WSDL이 응답하지 않는 경우 속성을 설정하기에는 이미 너무 늦었습니다.
MyWebServiceSoap soap;
MyWebService service = new MyWebService("http://www.google.com");
soap = service.getMyWebServiceSoap();
soap.sendRequestToMyWebService();
누구든지 올바른 방향으로 나를 가리킬 수 있습니까?!