Hi all.

 

Maybe I'm in need of further reading, maybe someone can point me in the
right direction.

 

I've used Axis to generate client side stubs before, but I've never
worked with a) a .NET service and b) a service that wasn't our own, and
I'm having a few issues understanding what I need to do. Hopefully
someone can help.

 

I have a WSDL definition from a .NET service, below is an edited version
(to allow for anonymity):

 

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/";
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
xmlns:tns="http://tempuri.org//TPI";
xmlns:s="http://www.w3.org/2001/XMLSchema";
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
targetNamespace="http://tempuri.org//TPI";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>

  <wsdl:types>

    <s:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org//TPI";>

      <s:element name="ConfirmRedirection">

        <s:complexType>

          <s:sequence>

            <s:element minOccurs="0" maxOccurs="1" name="SessionID"
type="s:string" />

            <s:element minOccurs="0" maxOccurs="1" name="INET4UserID"
type="s:string" />

          </s:sequence>

        </s:complexType>

      </s:element>

      <s:element name="ConfirmRedirectionResponse">

        <s:complexType>

          <s:sequence>

            <s:element minOccurs="0" maxOccurs="1"
name="ConfirmRedirectionResult">

              <s:complexType>

                <s:sequence>

                  <s:element ref="s:schema" />

                  <s:any />

                </s:sequence>

              </s:complexType>

            </s:element>

          </s:sequence>

        </s:complexType>

      </s:element>

    </s:schema>

  </wsdl:types>

  <wsdl:message name="ConfirmRedirectionSoapIn">

    <wsdl:part name="parameters" element="tns:ConfirmRedirection" />

  </wsdl:message>

  <wsdl:message name="ConfirmRedirectionSoapOut">

    <wsdl:part name="parameters"
element="tns:ConfirmRedirectionResponse" />

  </wsdl:message>

  <wsdl:portType name="TPISoap">

    <wsdl:operation name="ConfirmRedirection">

      <wsdl:input message="tns:ConfirmRedirectionSoapIn" />

      <wsdl:output message="tns:ConfirmRedirectionSoapOut" />

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="TPISoap" type="tns:TPISoap">

    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; />

    <wsdl:operation name="ConfirmRedirection">

      <soap:operation
soapAction="http://tempuri.org//TPI/ConfirmRedirection"; style="document"
/>

      <wsdl:input>

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="TPISoap12" type="tns:TPISoap">

    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; />

    <wsdl:operation name="ConfirmRedirection">

      <soap12:operation
soapAction="http://tempuri.org//TPI/ConfirmRedirection"; style="document"
/>

      <wsdl:input>

        <soap12:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap12:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="TPI">

    <wsdl:port name="TPISoap" binding="tns:TPISoap">

      <soap:address location="http://www.domain.com/tpi.asmx"; />

    </wsdl:port>

    <wsdl:port name="TPISoap12" binding="tns:TPISoap12">

      <soap12:address location="http://www.domain.com/tpi.asmx"; />

    </wsdl:port>

  </wsdl:service>

</wsdl:definitions>

 

This would allegedly provide a response like so:

 

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope";>
  <soap12:Body>
    <ConfirmRedirectionResponse xmlns="http://tempuri.org//TPI";>
      <ConfirmRedirectionResult>
        <xsd:schema>schema</xsd:schema>xml</ConfirmRedirectionResult>
    </ConfirmRedirectionResponse>
  </soap12:Body>
</soap12:Envelope>

 

Where 'schema' and 'xml' in this line:
<xsd:schema>schema</xsd:schema>xml</ConfirmRedirectionResult> are
'placeholders'.
 
Now I'm expecting a lot of user data to come back in this response, and
I presume that it will come within these placeholders.
If that's correct how do I generate a client stub using Axis that
represents this service?
 
If I generate a stub using this WSDL as is, I only get the ability to
perform:
MessageElement[] messageElements = result.get_any();
 
And not the specific getters for user name, user language etc etc that
should appear in the response.
 
I'm clearly missing something here, your thoughts and help would be
appreciated.
 
 
Dean.

 

 

 

Reply via email to