Java soap spring ws-如何定制<;故障代码>;soapenv:服务器</故障代码>;至<;故障代码>;一些错误代码。例如(一个数字)</故障代码>;

Java soap spring ws-如何定制<;故障代码>;soapenv:服务器</故障代码>;至<;故障代码>;一些错误代码。例如(一个数字)</故障代码>;,java,spring,web-services,soap,Java,Spring,Web Services,Soap,我正在使用soapspringws创建soapwebservice,我已经成功地 现在我正在这个soap服务中执行错误实现 我可以用我创建的类来实现它,如下所示 public class ServiceSoapFaultMappingExceptionResolver extends SoapFaultMappingExceptionResolver 在下面的重写函数中 @Override protected void customizeFault(Object endpoint, Exce

我正在使用soapspringws创建soapwebservice,我已经成功地 现在我正在这个soap服务中执行错误实现 我可以用我创建的类来实现它,如下所示

public class ServiceSoapFaultMappingExceptionResolver extends SoapFaultMappingExceptionResolver
在下面的重写函数中

@Override
 protected void customizeFault(Object endpoint, Exception ex, SoapFault fault) {
//code for adding fault details

    Result result = fault.addFaultDetail().getResult();

            // marshal
            try {
                 JAXBContext.newInstance(ExceptionListType.class).createMarshaller().marshal(exceptionList, result);

}
我创建了自定义soap错误对象并返回了它。 返回的自定义soap错误出现在detail标记中。 看来是我的错

<soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>INVALID NUMBER</faultstring>
         <detail>
            <ns5:exceptionListType xmlns:ns5="http://wellpoint.com/esb/header/v2">
               <ns5:errorCount>1</ns5:errorCount>
               <ns5:Exception>
                  <ns5:UUID> 889c-6f73671534af</ns5:UUID>
                  <ns5:timestamp>09/04/2015 05:47:40</ns5:timestamp>
                  <ns5:node>mynode</ns5:node>
                  <ns5:process>JAVA</ns5:process>
                  <ns5:component>Unknown Component</ns5:component>
                  <ns5:code>5009</ns5:code>
                  <ns5:severity>FATAL</ns5:severity>
                  <ns5:message>An unexpected server error occurred: INVALID   NUMBER</ns5:message>
               </ns5:Exception>
            </ns5:exceptionListType>
         </detail>
      </soapenv:Fault>

soapenv:服务器
无效号码
1.
889c-6f73671534af
09/04/2015 05:47:40
我的节点
JAVA
未知成分
5009
致命的
发生意外的服务器错误:无效号码
现在我想做的是,我有一个与上述错误相关联的错误代码,它在代码标签中,但我需要这个错误代码在这个标签中

<faultcode>soapenv:Server</faultcode>
soapenv:Server

5009
。我在谷歌上搜索了很多次,但运气不佳。我知道,除了预定义的可用值集之外,使用其他值不是一个好的做法。但我的客户要求是这样的。 如果有人知道答案,请帮助我。
事先非常感谢。

我终于找到了解决问题的方法。 在CustomizeDefault方法中,我放置了如下代码

    SoapFaultDefinition soapFaultDefinition = new SoapFaultDefinition();
    String ENVELOPE_NAMESPACE_URI = "http://schemas.xmlsoap.org/soap/envelope/";
    QName FAULT_NAME = new QName(ENVELOPE_NAMESPACE_URI, "5999, "e");
    //      soapFaultDefinition.setFaultStringOrReason("--" + ex);
    //      soapFaultDefinition.setLocale(Locale.ENGLISH);
    soapFaultDefinition.setFaultCode(FAULT_NAME);
    super.setDefaultFault(soapFaultDefinition);
    SoapFaultDefinition soapFaultDefinition = new SoapFaultDefinition();
    String ENVELOPE_NAMESPACE_URI = "http://schemas.xmlsoap.org/soap/envelope/";
    QName FAULT_NAME = new QName(ENVELOPE_NAMESPACE_URI, "5999, "e");
    //      soapFaultDefinition.setFaultStringOrReason("--" + ex);
    //      soapFaultDefinition.setLocale(Locale.ENGLISH);
    soapFaultDefinition.setFaultCode(FAULT_NAME);
    super.setDefaultFault(soapFaultDefinition);