在自定义SoapFault中将faultCode设置为发件人?
我想通过SpringWS抛出我自己的自定义异常。 我这样编写我的异常类:在自定义SoapFault中将faultCode设置为发件人?,soap,spring-ws,custom-exceptions,soapfault,Soap,Spring Ws,Custom Exceptions,Soapfault,我想通过SpringWS抛出我自己的自定义异常。 我这样编写我的异常类: @SoapFault(faultCode = FaultCode.CUSTOM, customFaultCode = "{http://www.myorg.com/test}INVALID_INPUT_DATA") public class InvalidDataException extends Exception { public InvalidDataException(String errorMsg)
@SoapFault(faultCode = FaultCode.CUSTOM, customFaultCode = "{http://www.myorg.com/test}INVALID_INPUT_DATA")
public class InvalidDataException extends Exception
{
public InvalidDataException(String errorMsg)
{
super(errorMsg);
}
public InvalidDataException(Throwable t)
{
super(t);
}
}
当我的服务使用文本参数引发此异常时,我会将customFaultCode作为子代码得到一个良好的soapFault:
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header/>
<env:Body>
<env:Fault>
<env:Code>
<env:Value>env:Receiver</env:Value>
<env:Subcode>
<env:Value xmlns:ns1="http://www.myorg.com/test">ns1:INVALID_INPUT_DATA</env:Value>
</env:Subcode>
</env:Code>
<env:Reason>
<env:Text xml:lang="en">WTF! Something wrong with your input data...</env:Text>
</env:Reason>
</env:Fault>
</env:Body>
</env:Envelope>
环境:接收器
ns1:无效的\u输入\u数据
世界跆拳道联盟!您的输入数据有问题。。。
但是我不想有一个faultCodeenv:Receiver,我想把它改成env:Sender,因为输入数据的问题在客户端!
但我不知道该怎么做。如果我在我的异常类中将faultCode更改为faultCode.SENDER,我会得到一个env:SENDERfaultCode,但是我的customFaultCode没有被考虑,我得到:
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header/>
<env:Body>
<env:Fault>
<env:Code>
<env:Value>env:Sender</env:Value>
</env:Code>
<env:Reason>
<env:Text xml:lang="en">WTF! Something wrong with your input data...</env:Text>
</env:Reason>
</env:Fault>
</env:Body>
</env:Envelope>
环境:发送者
世界跆拳道联盟!您的输入数据有问题。。。
我在SimpleSapeExceptionResolver的javadoc中看到,故障代码总是设置为Receiver(对于SOAP 1.2)。
我怎样才能改变这个
Stieuma对不起,我试图编辑我的原始帖子来打招呼,但不起作用…:(您能给我们看一下您的spring配置文件吗?可能是