nmukhi      2002/12/09 10:15:19

  Modified:    java/samples/ComplexSOAP/client/stub/com/cdyne/ws
                        Zip2GeoSoap.java
  Added:       java/samples/ComplexSOAP/client/stub README.html Run.java
  Log:
  
  
  Revision  Changes    Path
  1.1                  xml-axis-wsif/java/samples/ComplexSOAP/client/stub/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">
  
  <h2>
  Web Services Invocation Framework:<br>
  Invoking the ComplexSOAP Sample through a high level stub interface</h2>
  <p>You must have the following on your classpath:
  <ul>
    <li>wsif.jar</li>
    <li>wsifsamples.jar</li>
    <li>A JAXP compliant XML parser, such as Xerces</li>
    <li>wsdl4j.jar</li>
    <li>qname.jar</li>
    <li>axis.jar (since by default WSIF uses its Axis provider to invoke SOAP 
services)</li>
    <li>JAR files required by Axis - log4j.jar, commons-logging.jar, jaxrpc.jar, 
saaj.jar</li>
  </ul>
  </p>
  <p>This directory contains a file called <tt>Run.java</tt> that contains the 
<tt>main</tt> method. This is the logic that uses the generated stub interface to run 
the sample. So you can run this class, specifying on the command line the zip code of 
interest. For example, <br>
  <tt>java samples.SimpleSOAP.client.static.Run 10005</tt></p>
  <p>To generate the stub interface, you can use any tool that generates Java 
interfaces for WSDL services using their port type descriptions, such as WSDL2Java 
from Axis. WSIF assumes a correspondence between the generated Java interface and the 
WSDL port type that has its abstract description as specified in the JAX-RPC 
specification. This particular sample used WSDL2Java in the following way:<br>
  <tt>java org.apache.axis.wsdl.WSDL2Java ../../Zip2Geo.wsdl</tt><br>
  After the tool finished running, we deleted all the generated files except 
<tt>Zip2GeoSoap.java</tt> and <tt>LatLongReturn.java</tt> (Zip2GeoSoap is the java 
interface corresponding to the port type; LatLongReturn is the java representation of 
the complex schema type returned by the service - that is all that is required by 
WSIF). Note that the WSIF provider (in this case, Axis) automatically handles 
(de)serialization of the data that the user's code sees.</p>
  <hr width="100%">
  </body></html>
  
  
  
  1.1                  xml-axis-wsif/java/samples/ComplexSOAP/client/stub/Run.java
  
  Index: Run.java
  ===================================================================
  package samples.ComplexSOAP.client.stub;
  
  import org.apache.wsif.WSIFService;
  import org.apache.wsif.WSIFServiceFactory;
  import org.apache.wsif.WSIFException;
  import java.rmi.RemoteException;
  import com.cdyne.ws.LatLongReturn;
  import com.cdyne.ws.Zip2GeoSoap;
  
  /**
   * Simple class that Runs the SimpleSOAP sample using a pregenerated stub interface
   * To use this class, provide a company stock symbol on the command line. WSIF 
   * should then invoke the SOAP service with this information, returning with a 
recent 
   * stockquote.
   * @author Nirmal K. Mukhi ([EMAIL PROTECTED])
   */
  
  public class Run {
      public static void main(String [] args) {
        try {
            if (args.length!=1) {
                System.out.println("Usage: java samples.ComplexSOAP.client.stub.Run 
<zip code>");
                System.exit(1);
            }
            // create a service factory
            WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
            // parse WSDL
            WSIFService service = 
factory.getService("file:/work/xml-axis-wsif/java/samples/ComplexSOAP/Zip2Geo.wsdl", 
null,
                                                     null, "http://ws.cdyne.com";, 
                                                     "Zip2GeoSoap"); 
            Zip2GeoSoap stub = null;
            // create the stub
            stub = (Zip2GeoSoap) service.getStub(Zip2GeoSoap.class);
            // do the invocation
            // args[0] is the zip code
            LatLongReturn zipInfo = stub.GetLatLong(args[0],"");
            System.out.println("This zip code is in 
"+zipInfo.getCity()+","+zipInfo.getStateAbbrev()+
                               " in "+zipInfo.getCounty()+" county\n"+
                               "It extends from longitude 
"+zipInfo.getFromLongitude()+" to longitude "+
                               zipInfo.getToLongitude()+"\n and from latitude 
"+zipInfo.getFromLatitude()+
                               " to latitude "+zipInfo.getToLatitude());
        } catch (WSIFException we) {
            System.out.println("Error while executing sample, received an exception 
from WSIF; details:");
            we.printStackTrace();
        } catch (RemoteException re) {
            System.out.println("Error while executing sample, received an exception 
due to remote invocation; details:");
            re.printStackTrace();
        }
      }
  }
  
  
  
  1.2       +1 -1      
xml-axis-wsif/java/samples/ComplexSOAP/client/stub/com/cdyne/ws/Zip2GeoSoap.java
  
  Index: Zip2GeoSoap.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis-wsif/java/samples/ComplexSOAP/client/stub/com/cdyne/ws/Zip2GeoSoap.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Zip2GeoSoap.java  9 Dec 2002 17:32:23 -0000       1.1
  +++ Zip2GeoSoap.java  9 Dec 2002 18:15:19 -0000       1.2
  @@ -14,5 +14,5 @@
        * will get better accuracy with the plus 4 added to the zipcode.  Use
        * a license key of 0 for testing.
        */
  -    public com.cdyne.ws.LatLongReturn getLatLong(java.lang.String zipcode, 
java.lang.String licenseKey) throws java.rmi.RemoteException;
  +    public com.cdyne.ws.LatLongReturn GetLatLong(java.lang.String zipcode, 
java.lang.String licenseKey) throws java.rmi.RemoteException;
   }
  
  
  


Reply via email to