You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Mark Hansen (JIRA)" <ax...@ws.apache.org> on 2005/04/28 04:31:41 UTC

[jira] Commented: (AXIS-1839) CLONE -WSDL2Java creates strange decorated QNames

     [ http://issues.apache.org/jira/browse/AXIS-1839?page=comments#action_63943 ]
     
Mark Hansen commented on AXIS-1839:
-----------------------------------

Sorry for the long delay in responding on this - and I see you have closed it.

But, I'm still not comfortable with Glen's reasoning in the email you pointed me to (http://marc.theaimsgroup.com/?l=axis-dev&m=108385790920693&w=2)

How can it be "absolutely correct for these characters to appear in generated source code and deployment descriptors" when these characters render the deploy.wsdd to be invalid XML and therefore unusable as deployment descriptors?

I understand that the characters get generated to provide a QName that corresponds to an internal anonymous type and that they have nothing to do with what goes on the wire.  But, shouldn't deploy.wsdd always be usable as a deployment descriptor?  Perhaps we shouldn't include type mappings for such classes in the deploy.wsdd that gets generated.

P.S.  The reason that I care about this issue is that I have Ant scripts that process this deploy.wsdd for use in some downstream deployments.  Right now, I have some hacks to get rid of this "internal use only" type mappings.  Not a huge deal, but it doesn't seem right to have to live with these hacks.  But maybe I'm still missing the whole point here ....

> CLONE -WSDL2Java creates strange decorated QNames
> -------------------------------------------------
>
>          Key: AXIS-1839
>          URL: http://issues.apache.org/jira/browse/AXIS-1839
>      Project: Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.1
>  Environment: Java 1.4.2 b28
> Xerces_J1.4.0
>     Reporter: Mark Hansen
>  Attachments: OneWayService.wsdl, build.xml
>
> When feeding 
> org.apache.axis.wsdl.WSDL2Java -s -S true
> with the following WSDL:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:myns="http://bugdemo/myns" targetNamespace="http://bugdemo/myns">
> 	<wsdl:types>
> 		<xsd:schema xmlns:ccnt_vd="verkehrsdaten.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://bugdemo/myns">
> 			<xsd:element name="get">"
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="UserName" type="xsd:string"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="getResponse">"
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="Greeting" type="xsd:string"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 		</xsd:schema>
> 	</wsdl:types>
> 	<wsdl:message name="getMessage">
> 		<wsdl:part name="parameter" element="myns:get"/>
> 	</wsdl:message>
> 	<wsdl:message name="getResponseMessage">
> 		<wsdl:part name="parameter" element="myns:getResponse"/>
> 	</wsdl:message>
> 	<wsdl:portType name="getPort">
> 		<wsdl:operation name="getOperation">
> 			<wsdl:input message="myns:getMessage"/>
> 			<wsdl:output message="myns:getResponseMessage"/>
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	<wsdl:binding name="readBinding" type="myns:getPort">
> 		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> 		<wsdl:operation name="getOperation">
> 			<soap:operation soapAction="urn:my-server"/>
> 			<wsdl:input>
> 				<soap:body use="literal"/>
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal"/>
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:service name="Parkinfo">
> 		<wsdl:port name="Parkinfo" binding="myns:readBinding">
> 			<soap:address location="http://myUrl"/>
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>
> the generated code contains some calls to the QName class
> constructor with strangely decorated Element names, like:
> new javax.xml.namespace.QName("http://192.168.1.23/parkinfo", ">get")
> in the ReadBindingSkeleton.java, but also in other generated code.
> Furtehrmore, the generated deploy.wsdd contains typeMapping elements like:
> 		<typeMapping xmlns:ns="http://bugdemo/myns" qname="ns:>get" type="java:de.sycada.bugdemo.server._get" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""/>
> with the same strange decorator in the qname.
> In nested elements, this leads to qnames like >data>timestamp.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira