Spring返回定制肥皂故障

时间:2010-11-02 14:20:52

标签: java web-services spring spring-ws

我使用spring webservices将我的服务公开为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>

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

1 个答案:

答案 0 :(得分:2)

您需要 EndpointExceptionResolver ,请参阅有关handling exceptions的SpringWS手册。

SpringWS附带了一些内置的异常解析,你可以在实现自己的时候将它们作为参考。