From: <jbo...@li...> - 2006-07-05 14:36:28
|
Author: hei...@jb... Date: 2006-07-05 10:36:17 -0400 (Wed, 05 Jul 2006) New Revision: 567 Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/JBossXBMarshallerImpl.java branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/SchemaBindingBuilder.java branches/jbossws-1.0/src/test/resources/jbws718/WEB-INF/jaxrpc-mapping.xml Log: Fix JBWS-988 Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/JBossXBMarshallerImpl.java =================================================================== --- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/JBossXBMarshallerImpl.java 2006-07-05 14:34:18 UTC (rev 566) +++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/JBossXBMarshallerImpl.java 2006-07-05 14:36:17 UTC (rev 567) @@ -86,7 +86,8 @@ delegate.addRootElement(xmlName); QName xmlType = (QName)getProperty(JAXBConstants.JAXB_TYPE_QNAME); - if (xmlType != null) + boolean isAnonymousType = (xmlType != null && xmlType.getLocalPart().startsWith(">")); + if (xmlType != null && !isAnonymousType) { delegate.setRootTypeQName(xmlType); } Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/SchemaBindingBuilder.java =================================================================== --- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/SchemaBindingBuilder.java 2006-07-05 14:34:18 UTC (rev 566) +++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxb/SchemaBindingBuilder.java 2006-07-05 14:36:17 UTC (rev 567) @@ -416,13 +416,8 @@ if (typeBinding != null) { - if(isAnonymousType) - { - schemaBinding.addType( new TypeBinding( xmlType, typeBinding) ); - } - - schemaBinding.addElement(xmlName, typeBinding); - + if(!isAnonymousType) + schemaBinding.addElement(xmlName, typeBinding); } else if (xmlType.equals(Constants.TYPE_LITERAL_ANYTYPE) == false) { Modified: branches/jbossws-1.0/src/test/resources/jbws718/WEB-INF/jaxrpc-mapping.xml =================================================================== --- branches/jbossws-1.0/src/test/resources/jbws718/WEB-INF/jaxrpc-mapping.xml 2006-07-05 14:34:18 UTC (rev 566) +++ branches/jbossws-1.0/src/test/resources/jbws718/WEB-INF/jaxrpc-mapping.xml 2006-07-05 14:36:17 UTC (rev 567) @@ -1,51 +1,51 @@ <?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 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>org.jboss.test.ws.jbws718</package-type> - <namespaceURI>http://jboss.org/test/ws/jbws718</namespaceURI> - </package-mapping> - <java-xml-type-mapping> - <java-type>org.jboss.test.ws.jbws718.PingMsg</java-type> - <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/jbws718'>typeNS:>PingMsg</anonymous-type-qname> - <qname-scope>complexType</qname-scope> - <variable-mapping> - <java-variable-name>message</java-variable-name> - <xml-element-name>message</xml-element-name> - </variable-mapping> - </java-xml-type-mapping> - <java-xml-type-mapping> - <java-type>org.jboss.test.ws.jbws718.PingMsgResponse</java-type> - <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/jbws718'>typeNS:>PingMsgResponse</anonymous-type-qname> - <qname-scope>complexType</qname-scope> - </java-xml-type-mapping> - <service-interface-mapping> - <service-interface>org.jboss.test.ws.jbws718.TestService_Service</service-interface> - <wsdl-service-name xmlns:serviceNS='http://jboss.org/test/ws/jbws718'>serviceNS:TestService</wsdl-service-name> - <port-mapping> - <port-name>TestServicePort</port-name> - <java-port-name>TestServicePort</java-port-name> - </port-mapping> - </service-interface-mapping> - <service-endpoint-interface-mapping> - <service-endpoint-interface>org.jboss.test.ws.jbws718.TestService_PortType</service-endpoint-interface> - <wsdl-port-type xmlns:portTypeNS='http://jboss.org/test/ws/jbws718'>portTypeNS:TestService</wsdl-port-type> - <wsdl-binding xmlns:bindingNS='http://jboss.org/test/ws/jbws718'>bindingNS:TestServiceBinding</wsdl-binding> - <service-endpoint-method-mapping> - <java-method-name>ping</java-method-name> - <wsdl-operation>ping</wsdl-operation> - <method-param-parts-mapping> - <param-position>0</param-position> - <param-type>org.jboss.test.ws.jbws718.PingMsg</param-type> - <wsdl-message-mapping> - <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/jbws718'>wsdlMsgNS:PingIn</wsdl-message> - <wsdl-message-part-name>parameters</wsdl-message-part-name> - <parameter-mode>IN</parameter-mode> - </wsdl-message-mapping> - </method-param-parts-mapping> - <wsdl-return-value-mapping> - <method-return-value>org.jboss.test.ws.jbws718.PingMsgResponse</method-return-value> - <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/jbws718'>wsdlMsgNS:PingOut</wsdl-message> - <wsdl-message-part-name>parameters</wsdl-message-part-name> - </wsdl-return-value-mapping> - </service-endpoint-method-mapping> - </service-endpoint-interface-mapping> + <package-mapping> + <package-type>org.jboss.test.ws.jbws718</package-type> + <namespaceURI>http://jboss.org/test/ws/jbws718</namespaceURI> + </package-mapping> + <java-xml-type-mapping> + <java-type>org.jboss.test.ws.jbws718.PingMsg</java-type> + <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/jbws718'>typeNS:>PingMsg</anonymous-type-qname> + <qname-scope>complexType</qname-scope> + <variable-mapping> + <java-variable-name>message</java-variable-name> + <xml-element-name>message</xml-element-name> + </variable-mapping> + </java-xml-type-mapping> + <java-xml-type-mapping> + <java-type>org.jboss.test.ws.jbws718.PingMsgResponse</java-type> + <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/jbws718'>typeNS:>PingMsgResponse</anonymous-type-qname> + <qname-scope>complexType</qname-scope> + </java-xml-type-mapping> + <service-interface-mapping> + <service-interface>org.jboss.test.ws.jbws718.TestService_Service</service-interface> + <wsdl-service-name xmlns:serviceNS='http://jboss.org/test/ws/jbws718'>serviceNS:TestService</wsdl-service-name> + <port-mapping> + <port-name>TestServicePort</port-name> + <java-port-name>TestServicePort</java-port-name> + </port-mapping> + </service-interface-mapping> + <service-endpoint-interface-mapping> + <service-endpoint-interface>org.jboss.test.ws.jbws718.TestService_PortType</service-endpoint-interface> + <wsdl-port-type xmlns:portTypeNS='http://jboss.org/test/ws/jbws718'>portTypeNS:TestService</wsdl-port-type> + <wsdl-binding xmlns:bindingNS='http://jboss.org/test/ws/jbws718'>bindingNS:TestServiceBinding</wsdl-binding> + <service-endpoint-method-mapping> + <java-method-name>ping</java-method-name> + <wsdl-operation>ping</wsdl-operation> + <method-param-parts-mapping> + <param-position>0</param-position> + <param-type>org.jboss.test.ws.jbws718.PingMsg</param-type> + <wsdl-message-mapping> + <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/jbws718'>wsdlMsgNS:PingIn</wsdl-message> + <wsdl-message-part-name>parameters</wsdl-message-part-name> + <parameter-mode>IN</parameter-mode> + </wsdl-message-mapping> + </method-param-parts-mapping> + <wsdl-return-value-mapping> + <method-return-value>org.jboss.test.ws.jbws718.PingMsgResponse</method-return-value> + <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/jbws718'>wsdlMsgNS:PingOut</wsdl-message> + <wsdl-message-part-name>parameters</wsdl-message-part-name> + </wsdl-return-value-mapping> + </service-endpoint-method-mapping> + </service-endpoint-interface-mapping> </java-wsdl-mapping> \ No newline at end of file |