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>
>
>
>