JAX-WS Payload模式异常

时间:2015-08-03 10:03:40

标签: java web-services soap jax-ws

我在原始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客户端只会得到一个空响应。)

1 个答案:

答案 0 :(得分:0)

您可以从@WebserviceContext获取javax.servlet.http.HttpServletResponse的当前实例,并且可以将错误代码放在响应对象中。