J'utilise les services Web de printemps pour exposer mes services en tant que services Web. je définissais mon élément de faute de savon comme cePrintemps retour des erreurs de savon personnalisé
<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>
et je me sers dans mon WSDL
<wsdl:message name="msgSystemFault">
<wsdl:part name="body" element="cred:SystemFault"/>
</wsdl:message>
puis l'utiliser dans une opération
<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>
Mais quand je veux jeter cette faute dans mon point final, comment puis-je faire cela ??
Cela ne semble pas gérer les erreurs personnalisées, mais seulement les erreurs de serveur génériques. – skaffman
Pourquoi? Ou que voulez-vous dire par "faute personnalisée"? Jetez un oeil à la source de SimpleSoapExceptionResolver et de ses superclasses: https://fisheye.springsource.org/browse/spring-ws/trunk/core/src/main/java/org/springframework/ws/soap/server/endpoint /SimpleSoapExceptionResolver.java?hb=true - vous pouvez voir qu'il n'y a rien de magique à ce sujet, il vous suffit d'implémenter l'interface EndpointExceptionResolver et de créer votre propre erreur personnalisée. SpringWS vient même avec plusieurs classes abstraites qui aident à enlever beaucoup de code standard. –