我在原始XML / Payload模式下使用JAX-WS,并手动进行一些验证:
@ServiceMode(value = Service.Mode.PAYLOAD)
public class WebServiceSimulator implements Provider<DOMSource> {
private final String err = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Fault><faultcode>soap:Client</faultcode><faultstring>Missing operation for soapAction</faultstring></soapenv:Fault>\n";
public DOMSource invoke(DOMSource request) {
if(errorCondition){
return (DOMSource)new SimulatorDOMSourceImpl().fromString(err);
}
}
除了状态为200 OK
之外,一切正常。如何将状态消息更改为更相关的内容或使用异常抛出错误? (如果我使用RunTimeException()
,SOAP客户端只会得到一个空响应。)
答案 0 :(得分:0)
您可以从@WebserviceContext获取javax.servlet.http.HttpServletResponse的当前实例,并且可以将错误代码放在响应对象中。