nmukhi      2002/12/09 09:33:01

  Added:       java/samples/ComplexSOAP README.html Zip2Geo.wsdl
  Log:
  README file and WSDL file for sample with complex schema types using SOAP binding
  
  Revision  Changes    Path
  1.1                  xml-axis-wsif/java/samples/ComplexSOAP/README.html
  
  Index: README.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="Author" content="Nirmal Mukhi">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <title>Web Services Invocation Framework: Samples</title>
  <link rel="stylesheet" href="wsif.css" type="text/css"></head>
  
  <body alink="#0000ff" bgcolor="#ffffff" leftmargin="2" topmargin="2" marginwidth="2" 
marginheight="2">
  
  <h1>
  Web Services Invocation Framework:<br>
  ComplexSOAP Sample</h1>
  <p>This sample aims to demonstrate the invocation of a SOAP service that uses custom 
type definitions. This is a little different from using service that exchange messages 
typed using primitive schema types, since we have to have native equivalents for the 
custom schema types and know how to serialize and deserialize these the 
representations betwenour native format and the SOAP format.</p>
  <p>The particular service we have chosen to demonstrate how to WSIF for such 
invocations is called <em>Zip2Geo</em>. This is a publicly available services hosted 
by <a href="http://www.cdyne.com";>www.cdyne.com</a>. The service offers a single port 
type with one operation, called <tt>GetLatLong</tt>. This operation takes as input a 
zip code, and returns as output information about the corresponding location, such as 
the name of the city, state, its latitude, longitude, etc. The return value is a 
complex schema type. The service URL, where you can find details on the service 
implementation, etc. is <a 
href="http://www.xmethods.net/ve2/ViewListing.po?serviceid=175331";>here</a>.</p>
  <p>The <a href="Zip2Geo.wsdl">WSDL file</a> in this sample directory is publicly 
available via the service URL and has been downloaded from there.</p>
  <p><a href="client/dynamic/README.html">Here's</a> how to invoke this service 
dynamically using WSIF's dynamic invocation interface (DII).</p>
  <p><a href="client/stub/README.html">Here's</a> how to invoke this service by first 
generating the stub interface and using this directly through WSIF's dynamic proxy, 
thus hiding all WSIF specifics from the client code. Note that the stub interface used 
is the the service interface as defined by the JAX-RPC specification.</p>
  <hr width="100%">
  </body></html>
  
  
  
  1.1                  xml-axis-wsif/java/samples/ComplexSOAP/Zip2Geo.wsdl
  
  Index: Zip2Geo.wsdl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; xmlns:s0="http://ws.cdyne.com"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http://ws.cdyne.com"; xmlns="http://schemas.xmlsoap.org/wsdl/";>
    <types>
      <s:schema elementFormDefault="qualified" targetNamespace="http://ws.cdyne.com";>
        <s:element name="GetLatLong">
          <s:complexType>
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="zipcode" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="LicenseKey" type="s:string" 
/>
            </s:sequence>
          </s:complexType>
        </s:element>
        <s:element name="GetLatLongResponse">
          <s:complexType>
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="GetLatLongResult" 
type="s0:LatLongReturn" />
            </s:sequence>
          </s:complexType>
        </s:element>
        <s:complexType name="LatLongReturn">
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ServiceError" 
type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="AddressError" 
type="s:boolean" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="StateAbbrev" type="s:string" 
/>
            <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="County" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="FromLongitude" 
type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="FromLatitude" 
type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="ToLongitude" type="s:decimal" 
/>
            <s:element minOccurs="1" maxOccurs="1" name="ToLatitude" type="s:decimal" 
/>
            <s:element minOccurs="1" maxOccurs="1" name="AvgLongitude" 
type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="AvgLatitude" type="s:decimal" 
/>
            <s:element minOccurs="0" maxOccurs="1" name="CMSA" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="PMSA" type="s:string" />
          </s:sequence>
        </s:complexType>
        <s:element name="LatLongReturn" type="s0:LatLongReturn" />
      </s:schema>
    </types>
    <message name="GetLatLongSoapIn">
      <part name="parameters" element="s0:GetLatLong" />
    </message>
    <message name="GetLatLongSoapOut">
      <part name="parameters" element="s0:GetLatLongResponse" />
    </message>
    <message name="GetLatLongHttpGetIn">
      <part name="zipcode" type="s:string" />
      <part name="LicenseKey" type="s:string" />
    </message>
    <message name="GetLatLongHttpGetOut">
      <part name="Body" element="s0:LatLongReturn" />
    </message>
    <message name="GetLatLongHttpPostIn">
      <part name="zipcode" type="s:string" />
      <part name="LicenseKey" type="s:string" />
    </message>
    <message name="GetLatLongHttpPostOut">
      <part name="Body" element="s0:LatLongReturn" />
    </message>
    <portType name="Zip2GeoSoap">
      <operation name="GetLatLong">
        <documentation>This method will convert a zip code to Longitude and Latitude.  
You will get better accuracy with the plus 4 added to the zipcode.  Use a license key 
of 0 for testing.</documentation>
        <input message="s0:GetLatLongSoapIn" />
        <output message="s0:GetLatLongSoapOut" />
      </operation>
    </portType>
    <portType name="Zip2GeoHttpGet">
      <operation name="GetLatLong">
        <documentation>This method will convert a zip code to Longitude and Latitude.  
You will get better accuracy with the plus 4 added to the zipcode.  Use a license key 
of 0 for testing.</documentation>
        <input message="s0:GetLatLongHttpGetIn" />
        <output message="s0:GetLatLongHttpGetOut" />
      </operation>
    </portType>
    <portType name="Zip2GeoHttpPost">
      <operation name="GetLatLong">
        <documentation>This method will convert a zip code to Longitude and Latitude.  
You will get better accuracy with the plus 4 added to the zipcode.  Use a license key 
of 0 for testing.</documentation>
        <input message="s0:GetLatLongHttpPostIn" />
        <output message="s0:GetLatLongHttpPostOut" />
      </operation>
    </portType>
    <binding name="Zip2GeoSoap" type="s0:Zip2GeoSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document" 
/>
      <operation name="GetLatLong">
        <soap:operation soapAction="http://ws.cdyne.com/GetLatLong"; style="document" />
        <input>
          <soap:body use="literal" />
        </input>
        <output>
          <soap:body use="literal" />
        </output>
      </operation>
    </binding>
    <service name="Zip2Geo">
      <port name="Zip2GeoSoap" binding="s0:Zip2GeoSoap">
        <soap:address location="http://ws.cdyne.com/ziptogeo/zip2geo.asmx"; />
      </port>
    </service>
  </definitions>
  
  


Reply via email to