You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Donnie Hale <li...@haleonline.net> on 2005/01/01 17:41:40 UTC

RE: Is Axis generating bad WSDL, or is .NET's wsdl.exe broken?

Simon,

I appreciate the response. If you know, how do I get Axis to not insert that
prefix when it auto-generates the WSDL? Is it a bug, and should I submit a
new bug entry? Or is there a deployment/configuration mechanism that will
prevent this?

Thanks again,

Donnie
 

-----Original Message-----
From: Simon Fell [mailto:sfell@salesforce.com] 
Sent: Friday, December 31, 2004 3:45 PM
To: axis-user@ws.apache.org
Subject: RE: Is Axis generating bad WSDL, or is .NET's wsdl.exe broken?

As far as I can see, .NET is correct, this is not valid value for name
attribute.

<element name="tns1:in0" type="xsd:string"/> 

Cheers
Simon

> -----Original Message-----
> From: Donnie Hale [mailto:lists-axis@haleonline.net]
> Sent: Friday, December 31, 2004 12:13 PM
> To: axis-user@ws.apache.org
> Subject: Is Axis generating bad WSDL, or is .NET's wsdl.exe broken?
> 
> Using 1.2RC2, I have a service deployed with style="wrapped". 
> When I use .NET's wsdl.exe to try to generate client proxies, I get 
> the following
> output:
> 
> Schema validation warning: Invalid 'name' attribute value: The ':'
> character, hexadecimal value 0x3A, cannot be included in a name..
> Schema validation warning: Invalid 'name' attribute value: The ':'
> character, hexadecimal value 0x3A, cannot be included in a name..
> 
> Warning: Schema could not be validated. Class generation may fail or 
> may produce incorrect results.
> 
> Error: Unable to import binding 'prototypeSoapBinding' from namespace 
> ...
>   - Unable to import operation 'startTransaction'.
>   - Schema with
> targetNamespace='http://proto.wsapp.phileosoftware.com' has invalid 
> syntax.
>   - Invalid 'name' attribute value: The ':' character, hexadecimal 
> value 0x3A, cannot be included in a name..
> 
> In the wsdl:types element (see end of message), notice the <element 
> name="tns1:in0" ...> elements. If I hand-edit the WSDL, taking out the 
> 2 appearances of the "tns1:" prefixes from those elements, then 
> wsdl.exe doesn't complain and generates the proxies.
> 
> Does anyone know if Axis is at fault and shouldn't include the 
> prefixes or if .NET's wsdl.exe should accept the prefixes as correct 
> WSDL?
> 
> Thanks,
> 
> Donnie
> 
> Here's the WSDL Axis returns for a "?wsdl" URL:
> 
> <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions
>     targetnamespace="http://localhost:8088/myapp/services/prototype"
>     xmlns:apachesoap="http://xml.apache.org/xml-soap"
>     xmlns:impl="http://localhost:8088/myapp/services/prototype"
>     xmlns:intf="http://localhost:8088/myapp/services/prototype"
>     xmlns:tns1="http://proto.wsapp.phileosoftware.com"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>     <!--WSDL created by Apache Axis version: 1.2RC2
>     Built on Nov 16, 2004 (12:19:44 EST)-->
>     <wsdl:types>
>         <schema elementformdefault="qualified"
>             targetnamespace="http://proto.wsapp.phileosoftware.com"
>             xmlns="http://www.w3.org/2001/XMLSchema">
>             <element name="startTransaction">
>                 <complextype>
>                     <sequence>
>                         <element name="tns1:in0" type="xsd:string"/>
>                     </sequence>
>                 </complextype>
>             </element>
>             <element name="startTransactionResponse">
>                 <complextype>
>                     <sequence>
>                         <element name="startTransactionReturn"
> type="xsd:string"/>
>                     </sequence>
>                 </complextype>
>             </element>
>             <element name="getFile">
>                 <complextype>
>                     <sequence>
>                         <element name="tns1:in0" type="xsd:string"/>
>                     </sequence>
>                 </complextype>
>             </element>
>             <element name="getFileResponse">
>                 <complextype>
>                     <sequence>
>                         <element name="getFileReturn"
> type="xsd:base64Binary"/>
>                     </sequence>
>                 </complextype>
>             </element>
>         </schema>
>     </wsdl:types>
> 
>     <wsdl:message name="startTransactionRequest">
>         <wsdl:part element="tns1:startTransaction" name="parameters"/>
>     </wsdl:message>
> 
>     <wsdl:message name="startTransactionResponse">
>         <wsdl:part element="tns1:startTransactionResponse"
> name="parameters"/>
>     </wsdl:message>
> 
>     <wsdl:message name="getFileRequest">
>         <wsdl:part element="tns1:getFile" name="parameters"/>
>     </wsdl:message>
> 
>     <wsdl:message name="getFileResponse">
>         <wsdl:part element="tns1:getFileResponse" name="parameters"/>
>     </wsdl:message>
> 
>     <wsdl:porttype name="IWSSQLService">
>         <wsdl:operation name="startTransaction">
>             <wsdl:input message="impl:startTransactionRequest"
> name="startTransactionRequest"/>
>             <wsdl:output message="impl:startTransactionResponse"
> name="startTransactionResponse"/>
>         </wsdl:operation>
>         <wsdl:operation name="getFile">
>             <wsdl:input message="impl:getFileRequest"
> name="getFileRequest"/>
>             <wsdl:output message="impl:getFileResponse"
> name="getFileResponse"/>
>         </wsdl:operation>
>     </wsdl:porttype>
> 
>     <wsdl:binding name="prototypeSoapBinding" 
> type="impl:IWSSQLService">
>         <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>         <wsdl:operation name="startTransaction">
>             <wsdlsoap:operation soapaction=""/>
>             <wsdl:input name="startTransactionRequest">
>                 <wsdlsoap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="startTransactionResponse">
>                 <wsdlsoap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>         <wsdl:operation name="getFile">
>             <wsdlsoap:operation soapaction=""/>
>             <wsdl:input name="getFileRequest">
>                 <wsdlsoap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output name="getFileResponse">
>                 <wsdlsoap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
> 
>     <wsdl:service name="IWSSQLServiceService">
>         <wsdl:port binding="impl:prototypeSoapBinding" 
> name="prototype">
>             <wsdlsoap:address
> location="http://localhost:8088/myapp/services/prototype"/>
>         </wsdl:port>
>     </wsdl:service>
> 
> </wsdl:definitions>
> 
> 
>