Java Spring返回自定义soap错误
我正在使用SpringWebServices将我的服务公开为web服务。 我这样定义了我的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"/&
<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甚至附带了几个抽象类,可以帮助删除大量样板代码。