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 Jeevak Kasarkod <Je...@sivault.com> on 2005/02/10 02:45:34 UTC

.NET and axis Interoperability issues

Hi,

 

I have built a C# client which invokes an axis web service. The
call is made through an http proxy which is basically a soap monitor.
I have a log of the requests and responses and all of them are legal
but my .NET c# client is unable to reference the object.
I get the following error
Object reference not set to an instance of an object

On my list of watch variables the returned object shows up as Null
even though the soap monitor shows a response from the service. 


The stack trace is
[NullReferenceException: Object reference not set to an instance of an
object.]
 SASTest.WebForm1.Button1_Click(Object sender, EventArgs e) in
c:\inetpub\wwwroot\sastest\webform1.aspx.cs:66
 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
 
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.Rai
sePostBackEvent(String
eventArgument)
 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
 System.Web.UI.Page.ProcessRequestMain()



I have pasted the wsdl below 

 

<?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://www.sivault.com/SAS.xsd1"
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://www.sivault.com/SAS.xsd1"
xmlns="http://www.w3.org/2001/XMLSchema">

   <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="X" type="xsd:positiveInteger"/>

    <attribute name="Y" 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>

   <element name="CreateRequest" type="tns1:SigPackage"/>

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

   <element name="Result">

    <complexType>

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

   </element>

   <element name="VerifyRequest" type="tns1:SigPackage"/>

   <element name="Result1">

    <complexType>

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

   </element>

   <element name="CreateOrVerifyRequest" type="tns1:SigPackage"/>

   <element name="Result2">

    <complexType>

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

   </element>

   <element name="QueryKey" type="tns1:CompositeKey"/>

   <element name="Result3">

    <complexType>

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

   </element>

   <element name="ResetKey" type="tns1:CompositeKey"/>

   <element name="Result4">

    <complexType>

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

   </element>

   <element name="VerifyAllRequest" type="tns1:SigPackage"/>

   <element name="Result5">

    <complexType>

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

   </element>

  </schema>

 </wsdl:types>

 

   <wsdl:message name="CreateRequest">

 

      <wsdl:part element="tns1:CreateRequest" name="CreateRequest"/>

 

   </wsdl:message>

 

   <wsdl:message name="CreateOrVerifyRequest">

 

      <wsdl:part element="tns1:CreateOrVerifyRequest"
name="CreateOrVerifyRequest"/>

 

   </wsdl:message>

 

   <wsdl:message name="ResetRequest">

 

      <wsdl:part element="tns1:ResetKey" name="ResetKey"/>

 

   </wsdl:message>

 

   <wsdl:message name="QueryRequest">

 

      <wsdl:part element="tns1:QueryKey" name="QueryKey"/>

 

   </wsdl:message>

 

   <wsdl:message name="VerifyAllRequest">

 

      <wsdl:part element="tns1:VerifyAllRequest"
name="VerifyAllRequest"/>

 

   </wsdl:message>

 

   <wsdl:message name="CreateOrVerifyResponse">

 

      <wsdl:part element="tns1:Result2" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:message name="VerifyResponse">

 

      <wsdl:part element="tns1:Result1" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:message name="ResetResponse">

 

      <wsdl:part element="tns1:Result4" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:message name="CreateResponse">

 

      <wsdl:part element="tns1:Result" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:message name="VerifyAllResponse">

 

      <wsdl:part element="tns1:Result5" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:message name="VerifyRequest">

 

      <wsdl:part element="tns1:VerifyRequest" name="VerifyRequest"/>

 

   </wsdl:message>

 

   <wsdl:message name="QueryResponse">

 

      <wsdl:part element="tns1:Result3" name="Result"/>

 

   </wsdl:message>

 

   <wsdl:portType name="SASPortType">

 

      <wsdl:operation name="Create" parameterOrder="CreateRequest">

 

         <wsdl:input message="impl:CreateRequest" name="CreateRequest"/>

 

         <wsdl:output message="impl:CreateResponse"
name="CreateResponse"/>

 

      </wsdl:operation>

 

      <wsdl:operation name="Verify" parameterOrder="VerifyRequest">

 

         <wsdl:input message="impl:VerifyRequest" name="VerifyRequest"/>

 

         <wsdl:output message="impl:VerifyResponse"
name="VerifyResponse"/>

 

      </wsdl:operation>

 

      <wsdl:operation name="CreateOrVerify"
parameterOrder="CreateOrVerifyRequest">

 

         <wsdl:input message="impl:CreateOrVerifyRequest"
name="CreateOrVerifyRequest"/>

 

         <wsdl:output message="impl:CreateOrVerifyResponse"
name="CreateOrVerifyResponse"/>

 

      </wsdl:operation>

 

      <wsdl:operation name="Query" parameterOrder="QueryKey">

 

         <wsdl:input message="impl:QueryRequest" name="QueryRequest"/>

 

         <wsdl:output message="impl:QueryResponse"
name="QueryResponse"/>

 

      </wsdl:operation>

 

      <wsdl:operation name="Reset" parameterOrder="ResetKey">

 

         <wsdl:input message="impl:ResetRequest" name="ResetRequest"/>

 

         <wsdl:output message="impl:ResetResponse"
name="ResetResponse"/>

 

      </wsdl:operation>

 

      <wsdl:operation name="VerifyAll"
parameterOrder="VerifyAllRequest">

 

         <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="document"
transport="http://schemas.xmlsoap.org/soap/http"/>

 

      <wsdl:operation name="Create">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#Create"/>

 

         <wsdl:input name="CreateRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="CreateResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="Verify">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#Verify"/>

 

         <wsdl:input name="VerifyRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="VerifyResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="CreateOrVerify">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#CreateOrVerify"/>

 

         <wsdl:input name="CreateOrVerifyRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="CreateOrVerifyResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="Query">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#Query"/>

 

         <wsdl:input name="QueryRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="QueryResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="Reset">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#Reset"/>

 

         <wsdl:input name="ResetRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="ResetResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="VerifyAll">

 

         <wsdlsoap:operation
soapAction="capeconnect:SAS:SASPortType#VerifyAll"/>

 

         <wsdl:input name="VerifyAllRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="VerifyAllResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

   </wsdl:binding>

 

   <wsdl:service name="SAS">

 

      <wsdl:port binding="impl:SASPortSoapBinding" name="SASPort">

 

         <wsdlsoap:address
location="http://pen-test1:8085/axis/services/SASPort"/>

 

      </wsdl:port>

 

   </wsdl:service>

 

</wsdl:definitions>