Loading ...
Sorry, an error occurred while loading the content.
 

.NET client, SOAP::Lite server, null response

Expand Messages
  • yrls2web
    I am trying get a .NET ASP page to call a SOAP::Lite server. I have the client issuing a request and the server responding, but when the response gets
    Message 1 of 3 , Oct 17, 2003
      I am trying get a .NET ASP page to call a SOAP::Lite server. I have
      the client issuing a request and the server responding, but when the
      response gets unmarshaled the result is just a null (no exceptions).

      This client actually needs to talk to both a .NET web service as well
      as a SOAP::Lite web service. The client is able to interpret the
      following .NET web service response properly and displays the data:

      <?xml version="1.0" encoding="utf-8" ?>
      - <soap:Envelope
      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      - <soap:Body>
      - <searchCustomersResponse xmlns="http://tempuri.org/">
      - <searchCustomersResult>
      - <CustomerSummary>
      <id>34226</id>
      <firstName>Joe</firstName>
      <lastName>Soap</lastName>
      <orderTotal>29.01</orderTotal>
      </CustomerSummary>
      </searchCustomersResult>
      </searchCustomersResponse>
      </soap:Body>
      </soap:Envelope>

      However, although the .NET client also appears to receive the
      following response from the SOAP Lite server ok (no exceptions), it
      does not return the data (but rather a null).

      <?xml version="1.0" encoding="UTF-8" ?>
      - <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-
      instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-
      ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      - <SOAP-ENV:Body>
      - <namesp1:searchCustomersResponse
      xmlns:namesp1="http://nomad.trcprojects.trcinc.com/CustomerService">
      - <searchCustomerResult>
      - <CustomerSummary>
      <id xsi:type="xsd:int">123</id>
      <firstName xsi:type="xsd:string">Joe</firstName>
      <lastName xsi:type="xsd:string">Smith</lastName>
      <orderTotal xsi:type="xsd:double">12.34</orderTotal>
      </CustomerSummary>
      </searchCustomerResult>
      </namesp1:searchCustomersResponse>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

      The .NET web reference is based on a WSDL that I created to publish
      the interface of the SOAP Lite server. This WSDL has <s:schema
      elementFormDefault="qualified"
      targetNamespace="http://nomad.trcprojects.trcinc.com/CustomerService">
      ... so I don't believe the xmlns attribute on searchCustomersResponse
      element in the previous response is the issue.

      Seems like xmlns:xsi and xmlns:xsd attributes on root element for
      soap envelope have different years, could this be a factor?

      Any ideas where to look? I have run out of options. Any help would be
      appreciated.

      Dave
    • Duncan Cameron
      ... Well, in the .Net web service response the searchCustomersResponse element is in a different namespace to that for the SOAP::Lite response, so I would
      Message 2 of 3 , Oct 19, 2003
        At 20:11:00 on 2003-10-17 yrls2web <yrls2web@...> wrote:

        >I am trying get a .NET ASP page to call a SOAP::Lite server. I have
        >the client issuing a request and the server responding, but when the
        >response gets unmarshaled the result is just a null (no exceptions).
        >
        >This client actually needs to talk to both a .NET web service as well
        >as a SOAP::Lite web service. The client is able to interpret the
        >following .NET web service response properly and displays the data:
        >
        > <?xml version="1.0" encoding="utf-8" ?>
        >- <soap:Envelope
        >xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        >xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        >- <soap:Body>
        >- <searchCustomersResponse xmlns="http://tempuri.org/">
        >- <searchCustomersResult>
        >- <CustomerSummary>
        > <id>34226</id>
        > <firstName>Joe</firstName>
        > <lastName>Soap</lastName>
        > <orderTotal>29.01</orderTotal>
        > </CustomerSummary>
        > </searchCustomersResult>
        > </searchCustomersResponse>
        > </soap:Body>
        > </soap:Envelope>
        >
        >However, although the .NET client also appears to receive the
        >following response from the SOAP Lite server ok (no exceptions), it
        >does not return the data (but rather a null).
        >
        > <?xml version="1.0" encoding="UTF-8" ?>
        >- <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-
        >instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
        >xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        >xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-
        >ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        >- <SOAP-ENV:Body>
        >- <namesp1:searchCustomersResponse
        >xmlns:namesp1="http://nomad.trcprojects.trcinc.com/CustomerService">
        >- <searchCustomerResult>
        >- <CustomerSummary>
        > <id xsi:type="xsd:int">123</id>
        > <firstName xsi:type="xsd:string">Joe</firstName>
        > <lastName xsi:type="xsd:string">Smith</lastName>
        > <orderTotal xsi:type="xsd:double">12.34</orderTotal>
        > </CustomerSummary>
        > </searchCustomerResult>
        > </namesp1:searchCustomersResponse>
        > </SOAP-ENV:Body>
        > </SOAP-ENV:Envelope>
        >
        >The .NET web reference is based on a WSDL that I created to publish
        >the interface of the SOAP Lite server. This WSDL has <s:schema
        >elementFormDefault="qualified"
        >targetNamespace="http://nomad.trcprojects.trcinc.com/CustomerService">
        >.... so I don't believe the xmlns attribute on searchCustomersResponse
        >element in the previous response is the issue.
        Well, in the .Net web service response the searchCustomersResponse element is
        in a different namespace to that for the SOAP::Lite response, so I would
        expect that to cause a problem.
        Is this something to do with encoding style? The .Net response does not have an
        encodingStyle attribute.
        >
        >Seems like xmlns:xsi and xmlns:xsd attributes on root element for
        >soap envelope have different years, could this be a factor?
        You can try using the xmlschema() method in your server, something like:

        $daemon->serializer->xmlschema('2001')

        Regards
        Duncan
      • Kalvir Sandhu
        Hey, I had this same problem, I need to see your whole wsdl file to check your schema definition under the . Make sure CustomerSummary is set as the
        Message 3 of 3 , Oct 30, 2003
          Hey,

          I had this same problem, I need to see your whole
          wsdl file to check your schema definition under the <types>.

          Make sure 'CustomerSummary' is set as the name attribute for that
          element defined under the response type. Cause otherwise the names
          conflict with the returned xml document and nothing is parsed.

          Send the wsdl file if you don't understand what i'm on about.

          Kalv.

          Web Developer.
          Complinet.


          --- In soaplite@yahoogroups.com, "yrls2web" <yrls2web@y...> wrote:
          > I am trying get a .NET ASP page to call a SOAP::Lite server. I have
          > the client issuing a request and the server responding, but when
          the
          > response gets unmarshaled the result is just a null (no exceptions).
          >
          > This client actually needs to talk to both a .NET web service as
          well
          > as a SOAP::Lite web service. The client is able to interpret the
          > following .NET web service response properly and displays the data:
          >
          > <?xml version="1.0" encoding="utf-8" ?>
          > - <soap:Envelope
          > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
          > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          > - <soap:Body>
          > - <searchCustomersResponse xmlns="http://tempuri.org/">
          > - <searchCustomersResult>
          > - <CustomerSummary>
          > <id>34226</id>
          > <firstName>Joe</firstName>
          > <lastName>Soap</lastName>
          > <orderTotal>29.01</orderTotal>
          > </CustomerSummary>
          > </searchCustomersResult>
          > </searchCustomersResponse>
          > </soap:Body>
          > </soap:Envelope>
          >
          > However, although the .NET client also appears to receive the
          > following response from the SOAP Lite server ok (no exceptions), it
          > does not return the data (but rather a null).
          >
          > <?xml version="1.0" encoding="UTF-8" ?>
          > - <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-
          > instance" xmlns:SOAP-ENC="http://schemas.xmlsoap
          .org/soap/encoding/"
          > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
          > xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-
          > ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          > - <SOAP-ENV:Body>
          > - <namesp1:searchCustomersResponse
          > xmlns:namesp1="http://nomad.trcprojects.trcinc.com/CustomerService">
          > - <searchCustomerResult>
          > - <CustomerSummary>
          > <id xsi:type="xsd:int">123</id>
          > <firstName xsi:type="xsd:string">Joe</firstName>
          > <lastName xsi:type="xsd:string">Smith</lastName>
          > <orderTotal xsi:type="xsd:double">12.34</orderTotal>
          > </CustomerSummary>
          > </searchCustomerResult>
          > </namesp1:searchCustomersResponse>
          > </SOAP-ENV:Body>
          > </SOAP-ENV:Envelope>
          >
          > The .NET web reference is based on a WSDL that I created to publish
          > the interface of the SOAP Lite server. This WSDL has <s:schema
          > elementFormDefault="qualified"
          > targetNamespace="http://nomad.trcprojects.trcinc
          .com/CustomerService">
          > ... so I don't believe the xmlns attribute on se
          archCustomersResponse
          > element in the previous response is the issue.
          >
          > Seems like xmlns:xsi and xmlns:xsd attributes on root element for
          > soap envelope have different years, could this be a factor?
          >
          > Any ideas where to look? I have run out of options. Any help would
          be
          > appreciated.
          >
          > Dave
        Your message has been successfully submitted and would be delivered to recipients shortly.