I need to throw a custom exception from a web service. The problem is I don't get the details. I'm running my WS under jboss 4.0.4. My wsdl contains the following :
| <xsd:element name="MyOperationFault"> | <xsd:complexType> | <xsd:sequence> | <xsd:element name="MyOperationFaultCode" type="xsd:string" /> | <xsd:element name="MyOperationFaultSeverity" type="xsd:string" /> | <xsd:element name="MyOperationFaultMessage" type="xsd:string" /> | <xsd:element name="MyOperationFaultComment" type="xsd:string" /> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | </xsd:schema> | </wsdl:types> | | <wsdl:message name="MyOperationRequest"> | <wsdl:part element="tns:MyOperationRequest" name="parameters"/> | </wsdl:message> | <wsdl:message name="MyOperationResponse"> | <wsdl:part element="tns:MyOperationResponse" name="parameters"/> | </wsdl:message> | | | | | <wsdl:message name="MyOperationFault"> | <wsdl:part name="parameters" element="tns:MyOperationFault"></wsdl:part> | </wsdl:message> | <wsdl:portType name="Test"> | <wsdl:operation name="MyOperation"> | <wsdl:input message="tns:MyOperationRequest"/> | <wsdl:output message="tns:MyOperationResponse"/> | <wsdl:fault name="MyOperationException" message="tns:MyOperationFault"></wsdl:fault> | </wsdl:operation> | | </wsdl:portType> | | <wsdl:binding name="TestSOAP" type="tns:Test"> | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | | | <wsdl:operation name="MyOperation"> | <soap:operation soapAction="http://www.mycom.com/Test/MyOperation"/> | <wsdl:input><soap:body use="literal"/></wsdl:input> | <wsdl:output><soap:body use="literal"/></wsdl:output> | <wsdl:fault name="MyOperationException" > | <soap:fault name="MyOperationException"/> | </wsdl:fault> | </wsdl:operation> | | </wsdl:binding> My mapping file contains this: | | | <java-xml-type-mapping> | <java-type>com.mycom.myapp.ws.types.MyOperationFault</java-type> | <root-type-qname xmlns:typeNS="http://www.mycom.com/Test/">typeNS:MyOperationFault</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>MyOperationFaultCode</java-variable-name> | <xml-element-name>MyOperationFaultCode</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>MyOperationFaultSeverity</java-variable-name> | <xml-element-name>MyOperationFaultSeverity</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>MyOperationFaultMessage</java-variable-name> | <xml-element-name>MyOperationFaultMessage</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>MyOperationFaultComment</java-variable-name> | <xml-element-name>MyOperationFaultComment</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | | | <exception-mapping> | <exception-type>com.mycom.myapp.ws.types.MyOperationFault</exception-type> | <wsdl-message xmlns:exMsgNS="http://www.mycom.com/Test/">exMsgNS:MyOperationFault</wsdl-message> | <constructor-parameter-order> | <element-name>MyOperationFaultCode</element-name> | <element-name>MyOperationFaultSeverity</element-name> | <element-name>MyOperationFaultMessage</element-name> | <element-name>MyOperationFaultComment</element-name> | </constructor-parameter-order> | </exception-mapping> | | <service-interface-mapping> | <service-interface>com.mycom.myapp.ws.serviceTestService</service-interface> | <wsdl-service-name xmlns:serviceNS="http://www.mycom.com/Test/">serviceNS:TestService</wsdl-service-name> | <port-mapping> | <port-name>TestSOAP</port-name> | <java-port-name>TestSOAP</java-port-name> | </port-mapping> | </service-interface-mapping> | | | <service-endpoint-interface-mapping> | | <service-endpoint-interface>com.mycom.myapp.ws.Test</service-endpoint-interface> | <wsdl-port-type xmlns:portTypeNS="http://www.mycom.com/Test/">portTypeNS:Test</wsdl-port-type> | <wsdl-binding xmlns:bindingNS="http://www.mycom.com/Test/">bindingNS:TestSOAP</wsdl-binding> | | | | | <service-endpoint-method-mapping> | <java-method-name>MyOperation</java-method-name> | <wsdl-operation>MyOperation</wsdl-operation> | <wrapped-element/> | | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type>java.lang.String</param-type> | <wsdl-message-mapping> | <wsdl-message xmlns:wsdlMsgNS="http://www.mycom.com/Test/">wsdlMsgNS:MyOperationRequest</wsdl-message> | <wsdl-message-part-name>par1</wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | | <method-param-parts-mapping> | <param-position>1</param-position> | <param-type>java.lang.String</param-type> | <wsdl-message-mapping> | <wsdl-message xmlns:wsdlMsgNS="http://www.mycom.com/Test/">wsdlMsgNS:MyOperationRequest</wsdl-message> | <wsdl-message-part-name>par2</wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | | <wsdl-return-value-mapping> | <method-return-value>com.mycom.myapp.ws.api.MyOperationResponse</method-return-value> | <wsdl-message xmlns:wsdlMsgNS="http://www.mycom.com/Test/">wsdlMsgNS:MyOperationResponse</wsdl-message> | <wsdl-message-part-name>parameters</wsdl-message-part-name> | </wsdl-return-value-mapping> | | </service-endpoint-method-mapping> | </service-endpoint-interface-mapping> | | and this is how my methods are declared: | public MyOperationResponse MyOperation(MyOperationRequest request) throws RemoteException,MyOperationFault; | MyOperationFault extends extends Exception implements Serializable The problem is that when I throw MyOperationFault I get this: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> | <env:Header/> | <env:Body> | <env:Fault> | <faultcode>env:Client</faultcode> | <faultstring>com.mycom.myapp.ws.types.MyOperationFault</faultstring> | </env:Fault> | </env:Body> | </env:Envelop> I would expect to see also an element "detail" with the rest of the MyOperationFault properties.Can somebody point me the right direction what am I doing wrong? Thanks. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4067089#4067089 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4067089 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user