Java Spring返回自定义soap错误

Java Spring返回自定义soap错误,java,web-services,spring,spring-ws,Java,Web Services,Spring,Spring Ws,我正在使用SpringWebServices将我的服务公开为web服务。 我这样定义了我的Soap错误元素 <xsd:element name="systemFault"> <xsd:complexType> <xsd:sequence> <xsd:element name="faultCode" type="xsd:string" nillable="true"/&

我正在使用SpringWebServices将我的服务公开为web服务。 我这样定义了我的Soap错误元素

<xsd:element name="systemFault">
        <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="faultCode" type="xsd:string" nillable="true"/>
                    <xsd:element name="faultMessage" type="xsd:string"/>
                </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

我在我的WSDL中使用了它

<wsdl:message name="msgSystemFault">
        <wsdl:part name="body" element="cred:SystemFault"/>
    </wsdl:message>

然后在手术中使用这个

<wsdl:operation name="opMyOp">
            <wsdl:documentation>
                Creating an entity note.
            </wsdl:documentation>
            <wsdl:input message="tns:msgMyOpRequest"/>
            <wsdl:output message="tns:msgMyOpResponse"/>
            <wsdl:fault name="fault" message="tns:msgSystemFault"/>
        </wsdl:operation>

创建实体注释。

但是当我想在我的端点中抛出这个错误时,我该如何做呢???

您需要一个端点异常解析器,请参阅SpringWS手册关于


SpringWS附带了一些内置的异常解决方案,您可以在实现自己的异常解决方案时将其作为参考。

这似乎不能处理自定义故障,只能处理一般服务器故障。为什么?或者你所说的“习惯错误”是什么意思?只需看看SimpleSapeExceptionResolver及其超类的源代码:-您可以看到它没有什么神奇之处,您只需实现EndpointExceptionResolver接口并构建自己的自定义错误。SpringWS甚至附带了几个抽象类,可以帮助删除大量样板代码。