home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wsgatsam.zip / GetAddress.java < prev    next >
Text File  |  2003-02-24  |  3KB  |  93 lines

  1. /**
  2.  * %wsgw_sample_start%
  3.  * Licensed Materials - Property of IBM  
  4.  *    
  5.  * (c) Copyright IBM Corp. 2001, 2002 All Rights Reserved.  
  6.  *    
  7.  * US Government Users Restricted Rights - Use, duplication or   
  8.  * disclosure restricted by GSA ADP Schedule Contract with   
  9.  * IBM Corp.  
  10.  * %wsgw_sample_end%
  11.  */
  12. package services.addressbook;
  13.  
  14. import java.io.*;
  15. import java.util.*;
  16. import java.net.*;
  17. import org.w3c.dom.*;
  18. import org.apache.soap.util.xml.*;
  19. import org.apache.soap.*;
  20. import org.apache.soap.encoding.*;
  21. import org.apache.soap.encoding.soapenc.*;
  22. import org.apache.soap.rpc.*;
  23. import org.apache.soap.transport.*;
  24. import org.apache.soap.transport.http.*;
  25.  
  26. import com.ibm.www.namespace.wsif.samples.ab.types.*;
  27.  
  28. /**
  29.  * @author Matthew J. Duftler (duftler@us.ibm.com)
  30.  */
  31. public class GetAddress
  32. {
  33.   public static void main(String[] args) throws Exception 
  34.   {
  35.     if ((args.length != 4) && (args.length != 6)) {
  36.       System.err.println ("Usage: java " + GetAddress.class.getName () +
  37.                           " SOAP-router-URL method-namespace-uri" +
  38.                           " action-uri name [username password]");
  39.       System.exit (1);
  40.     }
  41.  
  42.     URL url = new URL (args[0]);
  43.     String id = args[1];
  44.     String actionURI = args[2];
  45.     String name = args[3];
  46.     String userName = null;
  47.     String password = null;
  48.     if (args.length == 6) {
  49.       userName = args[4];
  50.       password = args[5];
  51.     }
  52.  
  53.     SOAPMappingRegistry smr = new SOAPMappingRegistry();
  54.     BeanSerializer beanSer = new BeanSerializer();
  55.  
  56.     // Map the types.
  57.     smr.mapTypes(Constants.NS_URI_SOAP_ENC,
  58.                  new QName("http://www.ibm.com/namespace/wsif/samples/ab/types", "address"),
  59.                  Address.class, beanSer, beanSer);
  60.     smr.mapTypes(Constants.NS_URI_SOAP_ENC,
  61.                  new QName("http://www.ibm.com/namespace/wsif/samples/ab/types", "phone"),
  62.                  Phone.class, beanSer, beanSer);
  63.  
  64.     // Build the call.
  65.     Call call = new Call();
  66.  
  67.     call.setSOAPMappingRegistry(smr);
  68.     call.setTargetObjectURI(id);
  69.     call.setMethodName("getAddressFromName");
  70.     call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
  71.     Vector params = new Vector();
  72.     params.addElement(new Parameter("name", String.class, name, null));
  73.     call.setParams(params);
  74.     if (userName != null) {
  75.       SOAPHTTPConnection shc = new SOAPHTTPConnection ();
  76.       shc.setUserName (userName);
  77.       shc.setPassword (password);
  78.       call.setSOAPTransport (shc);
  79.     }
  80.  
  81.     Response resp = call.invoke(url, actionURI);
  82.  
  83.     // Check the response.
  84.     if (resp.generatedFault ()) {
  85.       Fault fault = resp.getFault ();
  86.       System.out.println ("Ouch, the call failed: " + fault);
  87.     } else {
  88.       Parameter result = resp.getReturnValue ();
  89.       System.out.println (result.getValue ());
  90.     }
  91.   }
  92. }
  93.