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>