我必须使用WS-Addressing调用几个WS服务。在调用webservice时,ReplyTo被设置为我实现的回调端点。
客户端是使用async从目标WSDL生成的
<enableAsyncMapping>true</enableAsyncMapping>它为每个webservice生成具有以下签名的Async版本:
javax.xml.ws.Response<SampleWebServiceOutput> sampleWebService(SampleWebServiceInput input)当调用sampleWebService时,
Response<SampleWebServiceOutput> response = clientWsPort.sampleWebService(input);如果请求成功,服务器将返回202 Accepted,但我不知道如何获取它。
如果我使用response.get(),它将永远阻塞,因为响应被发送到我的回调url (WSA-Addressing Reply To)
如何确定服务器是否成功接受了请求?
谢谢。
发布于 2016-03-05 21:58:00
显然,当您设置不同的回复地址时返回的响应将导致空响应,这可以解释为什么当您调用response.get()时它会挂起。推荐的解决方案是使用类似于getResponseContext()的东西,它是从绑定中调用的。
https://stackoverflow.com/questions/35814430
复制相似问题