Hallo, I tried to define a complex exception in the following WSDL
| | <?xml version="1.0" encoding="UTF-8"?> | | <wsdl:definitions | name="SessionWebService" | xmlns:types="urn:sedna.ser.de/ns" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" | xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" | xmlns:tns="urn:sedna.ser.de" | targetNamespace="urn:sedna.ser.de" > | | <wsdl:types> | <xsd:schema targetNamespace="urn:sedna.ser.de/ns" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | <xsd:element name="SednaException"> | <xsd:complexType> | <xsd:sequence> | <xsd:element name="sednaErrorCode" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/> | <xsd:element name="errorLevel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/> | <xsd:element name="className" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/> | <xsd:element name="elementId" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/> | <xsd:element name="displayInfo" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | </xsd:schema> | </wsdl:types> | | <wsdl:message name="SednaExceptionFault"> | <wsdl:part name="fault" element="types:SednaException"/> | </wsdl:message> | | <wsdl:message name="SessionServiceWS_login"> | <wsdl:part name="loginname" type="xsd:string" /> | <wsdl:part name="password" type="xsd:string" /> | </wsdl:message> | <wsdl:message name="SessionServiceWS_loginResponse"> | <wsdl:part name="result" type="types:StringArray" /> | </wsdl:message> | | <wsdl:portType name="SessionServiceWS"> | | <wsdl:operation name="login" parameterOrder="loginname password"> | <wsdl:input message="tns:SessionServiceWS_login" /> | <wsdl:output message="tns:SessionServiceWS_loginResponse" /> | <wsdl:fault name="SednaException" message="tns:SednaExceptionFault" /> | </wsdl:operation> | | </wsdl:portType> | | <wsdl:binding name="SessionServiceWSBinding" type="tns:SessionServiceWS"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" /> | <wsdl:operation name="login"> | <soap:operation soapAction="" /> | <wsdl:input> | <soap:body use="literal" namespace="urn:sedna.ser.de" /> | </wsdl:input> | <wsdl:output> | <soap:body use="literal" namespace="urn:sedna.ser.de" /> | </wsdl:output> | <wsdl:fault name="SednaException"> | <soap:fault name="SednaException" use="literal"/> | </wsdl:fault> | </wsdl:operation> | </wsdl:binding> | | <wsdl:service name="SessionWebService"> | <wsdl:port name="SessionServiceWSPort" binding="tns:SessionServiceWSBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL" /> | </wsdl:port> | </wsdl:service> | | </wsdl:definitions> | | I used the wscompile tool from the jax-rpc ri the generate the java classes and the jax-rpc mapping files for a JSR-109 POJO Endpoint without any problem. If I try to deploy it on a JBoss 4.0.4GA I got the following errors. | | 2006-06-06 13:56:11,026 WARN [org.jboss.ws.metadata.JSR109MetaDataBuilder] Cannot obtain java type mapping for: {urn:sedna.ser.de/ns}>SednaException | | 2006-06-06 13:56:12,213 DEBUG [org.jboss.ws.metadata.JSR109ServerMetaDataBuilder] END buildMetaData: | UnifiedMetaData: | securityDomain: null | | | ServiceMetaData: | name={urn:sedna.ser.de}SessionWebService | wsdName=SessionWebService | wsdlFile=WEB-INF/wsdl/SessionWebService.wsdl | jaxrpcFile=WEB-INF/ses_mapping.xml | publishLocation=null | properties=null | | TypesMetaData: | [complexType={urn:sedna.ser.de/ns}StringArray,javaType=com.ser.sedna.services.transfer.types.StringArray] | [complexType={urn:sedna.ser.de/ns}SednaException,javaType=com.ser.sedna.services.transfer.types.SednaException] | [complexType={urn:sedna.ser.de/ns}StringArray>value[0,unbounded],javaType=java.lang.String[]] | [complexType={urn:sedna.ser.de}SednaExceptionFault,javaType=com.ser.sedna.services.transfer.types.SednaException] | <schema targetNamespace='urn:sedna.ser.de/ns' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='urn:sedna.ser.de/ns' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> | <complexType name='StringArray'> | <sequence> | <element maxOccurs='unbounded' minOccurs='0' name='value' nillable='true' type='string'/> | </sequence> | </complexType> | <element name='SednaException'> | <complexType> | <sequence> | <element name='sednaErrorCode' type='string'/> | <element name='errorLevel' type='string'/> | <element name='className' nillable='true' type='string'/> | <element name='elementId' nillable='true' type='string'/> | <element name='displayInfo' type='string'/> | </sequence> | </complexType> | </element> | </schema> | | | ServerEndpointMetaData: | name={urn:sedna.ser.de}SessionServiceWSPort | id=jboss.ws:di=sedna.ear/sedna-transfer-service-ws.war,port=SessionServiceWSPort,service=SessionWebService | address=http://KIRSCH-XP:8080/sedna-transfer-service-ws/SessionServiceWS | linkName=SessionServiceWS | implName=null | seiName=com.ser.sedna.services.transfer.ws.SessionServiceWS | annotated=false | portComponentName=SessionServiceWS | contextRoot=/sedna-transfer-service-ws | urlPattern=/SessionServiceWS | configFile=META-INF/standard-jbossws-endpoint-config.xml | configName=Standard Endpoint | authMethod=null | transportGuarantee=null | properties=null | | OperationMetaData: | xmlName={urn:sedna.ser.de}login | javaName=login | style=rpc/literal | oneWay=false | soapAction= | ParameterMetaData: | xmlName=loginname | xmlType={http://www.w3.org/2001/XMLSchema}string | javaType=java.lang.String | mode=IN | inHeader=false | ParameterMetaData: | xmlName=password | xmlType={http://www.w3.org/2001/XMLSchema}string | javaType=java.lang.String | mode=IN | inHeader=false | ReturnMetaData: | xmlName=result | xmlType={urn:sedna.ser.de/ns}StringArray | javaType=com.ser.sedna.services.transfer.types.StringArray | mode=OUT | inHeader=false | FaultMetaData | xmlName={urn:sedna.ser.de/ns}SednaException | xmlType={urn:sedna.ser.de/ns}>SednaException | javaType=org.jboss.ws.jaxrpc.UnqualifiedFaultException | | As far as I understand is the mapping information existent in jax-rpc mapping file. | | <?xml version="1.0" encoding="UTF-8"?> | <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | version="1.1" | xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"> | <package-mapping> | <package-type>com.ser.sedna.services.transfer.ws</package-type> | <namespaceURI>urn:sedna.ser.de</namespaceURI> | </package-mapping> | <package-mapping> | <package-type>com.ser.sedna.services.transfer.types</package-type> | <namespaceURI>urn:sedna.ser.de/ns</namespaceURI> | </package-mapping> | <package-mapping> | <package-type>com.ser.sedna.services.transfer.types</package-type> | <namespaceURI>urn:sedna.ser.de/ns</namespaceURI> | </package-mapping> | <java-xml-type-mapping> | <java-type>com.ser.sedna.services.transfer.types.StringArray</java-type> | <root-type-qname xmlns:typeNS="urn:sedna.ser.de/ns">typeNS:StringArray</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>value</java-variable-name> | <xml-element-name>value</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>com.ser.sedna.services.transfer.types.SednaException</java-type> | <root-type-qname xmlns:typeNS="urn:sedna.ser.de/ns">typeNS:SednaException</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>sednaErrorCode</java-variable-name> | <xml-element-name>sednaErrorCode</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>errorLevel</java-variable-name> | <xml-element-name>errorLevel</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>className</java-variable-name> | <xml-element-name>className</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>elementId</java-variable-name> | <xml-element-name>elementId</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>displayInfo</java-variable-name> | <xml-element-name>displayInfo</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>java.lang.String[]</java-type> | <anonymous-type-qname>urn:sedna.ser.de/ns:StringArray>value[0,unbounded]</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | </java-xml-type-mapping> | <exception-mapping> | <exception-type>com.ser.sedna.services.transfer.types.SednaException</exception-type> | <wsdl-message xmlns:exMsgNS="urn:sedna.ser.de">exMsgNS:SednaExceptionFault</wsdl-message> | <constructor-parameter-order> | <element-name>sednaErrorCode</element-name> | <element-name>errorLevel</element-name> | <element-name>className</element-name> | <element-name>elementId</element-name> | <element-name>displayInfo</element-name> | </constructor-parameter-order> | </exception-mapping> | <service-interface-mapping> | <service-interface>com.ser.sedna.services.transfer.ws.SessionWebService</service-interface> | <wsdl-service-name xmlns:serviceNS="urn:sedna.ser.de">serviceNS:SessionWebService</wsdl-service-name> | <port-mapping> | <port-name>SessionServiceWSPort</port-name> | <java-port-name>SessionServiceWSPort</java-port-name> | </port-mapping> | </service-interface-mapping> | <service-endpoint-interface-mapping> | <service-endpoint-interface>com.ser.sedna.services.transfer.ws.SessionServiceWS</service-endpoint-interface> | <wsdl-port-type xmlns:portTypeNS="urn:sedna.ser.de">portTypeNS:SessionServiceWS</wsdl-port-type> | <wsdl-binding xmlns:bindingNS="urn:sedna.ser.de">bindingNS:SessionServiceWSBinding</wsdl-binding> | <service-endpoint-method-mapping> | <java-method-name>login</java-method-name> | <wsdl-operation>login</wsdl-operation> | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type>java.lang.String</param-type> | <wsdl-message-mapping> | <wsdl-message xmlns:wsdlMsgNS="urn:sedna.ser.de">wsdlMsgNS:SessionServiceWS_login</wsdl-message> | <wsdl-message-part-name>loginname</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="urn:sedna.ser.de">wsdlMsgNS:SessionServiceWS_login</wsdl-message> | <wsdl-message-part-name>password</wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | <wsdl-return-value-mapping> | <method-return-value>com.ser.sedna.services.transfer.types.StringArray</method-return-value> | <wsdl-message xmlns:wsdlMsgNS="urn:sedna.ser.de">wsdlMsgNS:SessionServiceWS_loginResponse</wsdl-message> | <wsdl-message-part-name>result</wsdl-message-part-name> | </wsdl-return-value-mapping> | </service-endpoint-method-mapping> | </service-endpoint-interface-mapping> | </java-wsdl-mapping> | | So is this a bug in the JBossWS Implementation or is something wrong in my setup. Thank you! View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3949348#3949348 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3949348 _______________________________________________ JBoss-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
