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>

Reply via email to