Simon's correct: .NET supports both RPC/encoded and Document/Literal. But it does not support RPC/Literal, and that's what this WSDL is using.
I suggest you convert your service to Document/Literal using the wrapped convention. Anne On Wed, 2 Feb 2005 14:39:42 -0600, Brown, Mike <[EMAIL PROTECTED]> wrote: > > My fault...I should have clarified that this was based on third party input. > I think they were probably using .Net 1.0 But they said that the version > that they were developing with did not support rpc and that the next version > would have rpc support. > > By the way Simon, you're somewhat of a celebrity in my books. When I was > first working with SOAP, your tools 4S4C and PocketSOAP were the first > available for COM. It's amazing being able to have daily discourse with such > brilliant minds. > > ________________________________ > From: Simon Fell [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 02, 2005 2:21 PM > > To: [EMAIL PROTECTED] > Subject: RE: Issues with .NET clients to axis service > > > > Actually, .NET supports both doc/literal and rpc/encoded style SOAP. > > > ________________________________ > From: Brown, Mike [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 02, 2005 12:17 PM > To: '[EMAIL PROTECTED]' > Subject: RE: Issues with .NET clients to axis service > > > > .Net does not support RPC style encoding currently. You have to use > document-litteral to get true interop with Web-services. > > ________________________________ > From: Jeevak Kasarkod [mailto:[EMAIL PROTECTED] > Sent: Tuesday, February 01, 2005 4:10 PM > To: [EMAIL PROTECTED] > Subject: Issues with .NET clients to axis service > > > > > > Hi, > > I built a web service using the wsdl attached below. I tried creating a > Web Reference to the generated wsdl from the axis side but .NET throws an > error saying > "C:\workspace\Solutions\Hypercom\SignatureTest\WindowsApplication2\Web > References\localhost\Reference.map(1): Custom tool warning: At least one > import Operation is an unsupported type and has been ignored." > > It is unable to generate the classes for the types defined in the wsdl > generated by axis. The wsdl generated by axis is pasted below. During deploy > time I deployed the classes and used the admin client to register the > service. > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > WSDL created by me and used by WSDL2Java to generate the stubs > > > > <?xml version="1.0" encoding="UTF-8"?> > > <wsdl:definitions > > name="SAS" > > targetNamespace="http://www.sivault.com/SAS.wsdl" > > xmlns:import1="http://tempuri.org/SAS.xsd" > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > xmlns:tns="http://www.sivault.com/SAS.wsdl" > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear > Studio SOA Editor - http://www.capeclear.com</wsdl:documentation> > > <wsdl:types> > > <xs:schema > > elementFormDefault="qualified" > > id="SAS" > > targetNamespace="http://tempuri.org/SAS.xsd" > > xmlns="http://tempuri.org/SAS.xsd" > > xmlns:mstns="http://tempuri.org/SAS.xsd" > > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > <xs:complexType name="SigPackage"> > > <xs:sequence> > > <xs:element name="CompositeKey" type="CompositeKey"/> > > <xs:element name="TimeStamp" type="xs:dateTime"/> > > <xs:element name="TerminalID" type="xs:string"/> > > <xs:element name="SpatialResolution" > type="xs:positiveInteger"/> > > <xs:element name="SamplingRate" > type="xs:positiveInteger"/> > > <xs:element name="Xextent" type="xs:positiveInteger"/> > > <xs:element name="Yextent" type="xs:positiveInteger"/> > > <xs:element name="Signatures"> > > <xs:complexType> > > <xs:sequence> > > <xs:element maxOccurs="6" minOccurs="1" > name="Signature" type="Signature"/> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > <xs:element maxOccurs="1" minOccurs="0" name="Store" > type="Store"/> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="CompositeKey"> > > <xs:sequence> > > <xs:element maxOccurs="4" minOccurs="1" name="Attr"> > > <xs:complexType> > > <xs:sequence> > > <xs:element name="Name" type="xs:string"/> > > <xs:element name="Value" type="xs:string"/> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="Signature"> > > <xs:sequence> > > <xs:element maxOccurs="20" minOccurs="1" name="Stroke" > type="Stroke"/> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="Stroke"> > > <xs:sequence> > > <xs:element maxOccurs="unbounded" minOccurs="1" > name="Point" type="Point"/> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="Point"> > > <xs:attribute name="X" type="xs:positiveInteger"/> > > <xs:attribute name="Y" type="xs:positiveInteger"/> > > </xs:complexType> > > <xs:complexType name="Result"> > > <xs:sequence> > > <xs:element name="resultCode" type="resultCodes"/> > > <xs:element name="CompositeKey" type="CompositeKey"/> > > <xs:element minOccurs="0" name="Store" type="Store"/> > > </xs:sequence> > > </xs:complexType> > > <xs:simpleType name="resultCodes"> > > <xs:restriction base="xs:string"> > > <xs:enumeration value="BeginNewTemplate"/> > > <xs:enumeration value="TemplateIncomplete"/> > > <xs:enumeration value="TooSimple"/> > > <xs:enumeration value="TooDifferent"/> > > <xs:enumeration value="TemplateComplete"/> > > <xs:enumeration value="Verified"/> > > <xs:enumeration value="Forgery"/> > > <xs:enumeration value="Marginal"/> > > <xs:enumeration value="Matched"/> > > <xs:enumeration value="NoMatch"/> > > <xs:enumeration value="MultipleMatch"/> > > <xs:enumeration value="InvalidKey"/> > > <xs:enumeration value="Confirm"/> > > </xs:restriction> > > </xs:simpleType> > > <xs:complexType name="Store"> > > <xs:sequence> > > <xs:element maxOccurs="unbounded" minOccurs="1" > name="Item" type="Item"/> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="Item"> > > <xs:attribute name="Name" type="xs:string"/> > > <xs:attribute name="Value" type="xs:string"/> > > </xs:complexType> > > </xs:schema> > > </wsdl:types> > > <wsdl:message name="TemplateRequest"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Used to query the existence of > a template with a matching composite key</wsdl:documentation> > > <wsdl:part name="TemplateRequest" type="import1:CompositeKey"/> > > </wsdl:message> > > <wsdl:message name="SignatureResponse"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">The result for a signature > bearing request</wsdl:documentation> > > <wsdl:part name="SignatureResponse" type="import1:Result"/> > > </wsdl:message> > > <wsdl:message name="SignatureRequest"> > > <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">A > request body bearing a signature (or a set of > signatures)</wsdl:documentation> > > <wsdl:part name="SignatureRequest" type="import1:SigPackage"/> > > </wsdl:message> > > <wsdl:message name="TemplateResponse"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">The result to the template > existence query</wsdl:documentation> > > <wsdl:part name="TemplateResponse" type="import1:Result"/> > > </wsdl:message> > > <wsdl:portType name="SASPortType"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">SiVault Authentication > Service</wsdl:documentation> > > <wsdl:operation name="Create"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Attempt to create template > using the signature(s) contained in SigPackage</wsdl:documentation> > > <wsdl:input message="tns:SignatureRequest"/> > > <wsdl:output message="tns:SignatureResponse"/> > > </wsdl:operation> > > <wsdl:operation name="Verify"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Perform a verification attempt > on the template matching this composite key using the signature contained in > the message</wsdl:documentation> > > <wsdl:input message="tns:SignatureRequest"/> > > <wsdl:output message="tns:SignatureResponse"/> > > </wsdl:operation> > > <wsdl:operation name="CreateOrVerify"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">If a template matching the > contained composite key exists, treat this request as for the > "Verify" operation otherwise treat it as for the > "Create" operation</wsdl:documentation> > > <wsdl:input message="tns:SignatureRequest"/> > > <wsdl:output message="tns:SignatureResponse"/> > > </wsdl:operation> > > <wsdl:operation name="Query"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Determine if a template exists > in the database that matches the CompositeKey passed in</wsdl:documentation> > > <wsdl:input message="tns:TemplateRequest"/> > > <wsdl:output message="tns:TemplateResponse"/> > > </wsdl:operation> > > <wsdl:operation name="Reset"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Remove any template (or > partial template) matching this composite key. If more than one template > matches, return the error "MultipleMatch" (do not allow deletion > of multiple templates)</wsdl:documentation> > > <wsdl:input message="tns:TemplateRequest"/> > > <wsdl:output message="tns:TemplateResponse"/> > > </wsdl:operation> > > <wsdl:operation name="VerifyAll"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Make verification attempts on > the contained signature against (potentially) all templates matching the > composite key given (in practice these define domain/sub-domain etc.). Stop > searching early if a match is found (return "Verified"). If no > match is found, return "Forgery".</wsdl:documentation> > > <wsdl:input message="tns:SignatureRequest"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Signature to test against > templates matching the composite key</wsdl:documentation> > > </wsdl:input> > > <wsdl:output message="tns:SignatureResponse"/> > > </wsdl:operation> > > </wsdl:portType> > > <wsdl:binding name="SASBinding" type="tns:SASPortType"> > > <soap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http"/> > > <wsdl:operation name="Create"> > > <soap:operation > soapAction="capeconnect:SAS:SASPortType#Create"/> > > <wsdl:input> > > <soap:body parts="SignatureRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="SignatureResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > <wsdl:operation name="Verify"> > > <soap:operation > soapAction="capeconnect:SAS:SASPortType#Verify"/> > > <wsdl:input> > > <soap:body parts="SignatureRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="SignatureResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > <wsdl:operation name="CreateOrVerify"> > > <soap:operation > soapAction="capeconnect:SAS:SASPortType#CreateOrVerify"/> > > <wsdl:input> > > <soap:body parts="SignatureRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="SignatureResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > <wsdl:operation name="Query"> > > <soap:operation soapAction="capeconnect:SAS:SASPortType#Query"/> > > <wsdl:input> > > <soap:body parts="TemplateRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="TemplateResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > <wsdl:operation name="Reset"> > > <soap:operation soapAction="capeconnect:SAS:SASPortType#Reset"/> > > <wsdl:input> > > <soap:body parts="TemplateRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="TemplateResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > <wsdl:operation name="VerifyAll"> > > <soap:operation > soapAction="capeconnect:SAS:SASPortType#VerifyAll"/> > > <wsdl:input> > > <soap:body parts="SignatureRequest" use="literal"/> > > </wsdl:input> > > <wsdl:output> > > <soap:body parts="SignatureResponse" use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > </wsdl:binding> > > <wsdl:service name="SAS"> > > <wsdl:documentation > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Signature Authentication > Service</wsdl:documentation> > > <wsdl:port binding="tns:SASBinding" name="SASPort"> > > <soap:address location="http://localhost:8000/ccx/SAS"/> > > </wsdl:port> > > </wsdl:service> > > </wsdl:definitions> > > > > > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > WSDL generated by axis after deploying the WS > > > > <?xml version="1.0" encoding="UTF-8"?> > > <wsdl:definitions targetNamespace="http://www.sivault.com/SAS.wsdl" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:impl="http://www.sivault.com/SAS.wsdl" > xmlns:intf="http://www.sivault.com/SAS.wsdl" > xmlns:tns1="http://tempuri.org/SAS.xsd" > 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 targetNamespace="http://tempuri.org/SAS.xsd" > xmlns="http://www.w3.org/2001/XMLSchema"> > > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > > <complexType name="CompositeKey"> > > <sequence> > > <element maxOccurs="unbounded" name="Attr" nillable="true"> > > <complexType> > > <sequence> > > <element name="Name" nillable="true" type="xsd:string"/> > > <element name="Value" nillable="true" type="xsd:string"/> > > </sequence> > > </complexType> > > </element> > > </sequence> > > </complexType> > > <complexType name="Point"> > > <sequence/> > > <attribute name="Y" type="xsd:positiveInteger"/> > > <attribute name="X" type="xsd:positiveInteger"/> > > </complexType> > > <complexType name="Stroke"> > > <sequence> > > <element maxOccurs="unbounded" name="Point" nillable="true" > type="tns1:Point"/> > > </sequence> > > </complexType> > > <complexType name="Signature"> > > <sequence> > > <element maxOccurs="unbounded" name="Stroke" nillable="true" > type="tns1:Stroke"/> > > </sequence> > > </complexType> > > <complexType name="Item"> > > <sequence/> > > <attribute name="Name" type="xsd:string"/> > > <attribute name="Value" type="xsd:string"/> > > </complexType> > > <complexType name="Store"> > > <sequence> > > <element maxOccurs="unbounded" name="Item" nillable="true" > type="tns1:Item"/> > > </sequence> > > </complexType> > > <complexType name="SigPackage"> > > <sequence> > > <element name="CompositeKey" nillable="true" type="tns1:CompositeKey"/> > > <element name="TimeStamp" nillable="true" type="xsd:dateTime"/> > > <element name="TerminalID" nillable="true" type="xsd:string"/> > > <element name="SpatialResolution" nillable="true" > type="xsd:positiveInteger"/> > > <element name="SamplingRate" nillable="true" > type="xsd:positiveInteger"/> > > <element name="Xextent" nillable="true" type="xsd:positiveInteger"/> > > <element name="Yextent" nillable="true" type="xsd:positiveInteger"/> > > <element name="Signatures" nillable="true"> > > <complexType> > > <sequence> > > <element maxOccurs="unbounded" name="Signature" nillable="true" > type="tns1:Signature"/> > > </sequence> > > </complexType> > > </element> > > <element maxOccurs="1" minOccurs="0" name="Store" nillable="true" > type="tns1:Store"/> > > </sequence> > > </complexType> > > <simpleType name="resultCodes"> > > <restriction base="xsd:string"> > > <enumeration value="BeginNewTemplate"/> > > <enumeration value="TemplateIncomplete"/> > > <enumeration value="TooSimple"/> > > <enumeration value="TooDifferent"/> > > <enumeration value="TemplateComplete"/> > > <enumeration value="Verified"/> > > <enumeration value="Forgery"/> > > <enumeration value="Marginal"/> > > <enumeration value="Matched"/> > > <enumeration value="NoMatch"/> > > <enumeration value="MultipleMatch"/> > > <enumeration value="InvalidKey"/> > > <enumeration value="Confirm"/> > > </restriction> > > </simpleType> > > <complexType name="Result"> > > <sequence> > > <element name="resultCode" nillable="true" type="tns1:resultCodes"/> > > <element name="CompositeKey" nillable="true" type="tns1:CompositeKey"/> > > <element maxOccurs="1" minOccurs="0" name="Store" nillable="true" > type="tns1:Store"/> > > </sequence> > > </complexType> > > </schema> > > </wsdl:types> > > > > <wsdl:message name="CreateRequest"> > > > > <wsdl:part name="SignatureRequest" type="tns1:SigPackage"/> > > > > </wsdl:message> > > > > <wsdl:message name="CreateOrVerifyRequest"> > > > > <wsdl:part name="SignatureRequest" type="tns1:SigPackage"/> > > > > </wsdl:message> > > > > <wsdl:message name="ResetRequest"> > > > > <wsdl:part name="TemplateRequest" type="tns1:CompositeKey"/> > > > > </wsdl:message> > > > > <wsdl:message name="QueryRequest"> > > > > <wsdl:part name="TemplateRequest" type="tns1:CompositeKey"/> > > > > </wsdl:message> > > > > <wsdl:message name="VerifyAllRequest"> > > > > <wsdl:part name="SignatureRequest" type="tns1:SigPackage"/> > > > > </wsdl:message> > > > > <wsdl:message name="CreateOrVerifyResponse"> > > > > <wsdl:part name="SignatureResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:message name="VerifyResponse"> > > > > <wsdl:part name="SignatureResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:message name="ResetResponse"> > > > > <wsdl:part name="TemplateResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:message name="CreateResponse"> > > > > <wsdl:part name="SignatureResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:message name="VerifyAllResponse"> > > > > <wsdl:part name="SignatureResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:message name="VerifyRequest"> > > > > <wsdl:part name="SignatureRequest" type="tns1:SigPackage"/> > > > > </wsdl:message> > > > > <wsdl:message name="QueryResponse"> > > > > <wsdl:part name="TemplateResponse" type="tns1:Result"/> > > > > </wsdl:message> > > > > <wsdl:portType name="SASPortType"> > > > > <wsdl:operation name="Create" parameterOrder="SignatureRequest"> > > > > <wsdl:input message="impl:CreateRequest" name="CreateRequest"/> > > > > <wsdl:output message="impl:CreateResponse" name="CreateResponse"/> > > > > </wsdl:operation> > > > > <wsdl:operation name="Verify" parameterOrder="SignatureRequest"> > > > > <wsdl:input message="impl:VerifyRequest" name="VerifyRequest"/> > > > > <wsdl:output message="impl:VerifyResponse" name="VerifyResponse"/> > > > > </wsdl:operation> > > > > <wsdl:operation name="CreateOrVerify" > parameterOrder="SignatureRequest"> > > > > <wsdl:input message="impl:CreateOrVerifyRequest" > name="CreateOrVerifyRequest"/> > > > > <wsdl:output message="impl:CreateOrVerifyResponse" > name="CreateOrVerifyResponse"/> > > > > </wsdl:operation> > > > > <wsdl:operation name="Query" parameterOrder="TemplateRequest"> > > > > <wsdl:input message="impl:QueryRequest" name="QueryRequest"/> > > > > <wsdl:output message="impl:QueryResponse" name="QueryResponse"/> > > > > </wsdl:operation> > > > > <wsdl:operation name="Reset" parameterOrder="TemplateRequest"> > > > > <wsdl:input message="impl:ResetRequest" name="ResetRequest"/> > > > > <wsdl:output message="impl:ResetResponse" name="ResetResponse"/> > > > > </wsdl:operation> > > > > <wsdl:operation name="VerifyAll" parameterOrder="SignatureRequest"> > > > > <wsdl:input message="impl:VerifyAllRequest" > name="VerifyAllRequest"/> > > > > <wsdl:output message="impl:VerifyAllResponse" > name="VerifyAllResponse"/> > > > > </wsdl:operation> > > > > </wsdl:portType> > > > > <wsdl:binding name="SASPortSoapBinding" type="impl:SASPortType"> > > > > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http"/> > > </... [Message clipped] >