DynamicClient.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.webservices.rpc.client;
  2. import java.util.Properties;
  3. import javax.naming.Context;
  4. import javax.naming.InitialContext;
  5. import weblogic.soap.WebServiceProxy;
  6. import weblogic.soap.SoapMethod;
  7. /**
  8.  * Class DynamicClient
  9.  * A lightweight client that uses the client.jar file that is produced by
  10.  * WebLogic.  The client.jar file provides the ability to encode and decode
  11.  * SOAP envelopes, transmit the messages via HTTP and the remote interface
  12.  * for Calculator Session Bean.  This client is considered a dynamic client
  13.  * it loads the Web Service's WSDL into a proxy and then uses the proxy to create
  14.  * the apporiate SOAP Method.
  15.  *
  16.  * @author
  17.  * @version %I%, %G%
  18.  */
  19. public class DynamicClient {
  20.   /**
  21.    * Constructor DynamicClient
  22.    *
  23.    *
  24.    */
  25.   public DynamicClient() {}
  26.   /**
  27.    * Method main
  28.    * The main method gets a reference to the Calculator Web Service via
  29.    * its WSDL and then passes two amounts that are to be added.
  30.    * Finally it prints out the result that is returned from the Session
  31.    * Bean.
  32.    *
  33.    *
  34.    * @param args This method makes no use of passed parameters
  35.    *
  36.    * @throws Exception
  37.    *
  38.    */
  39.   public static void main(String[] args) throws Exception {
  40.     Properties props = new Properties();
  41.     props.put(Context.INITIAL_CONTEXT_FACTORY,
  42.               "weblogic.soap.http.SoapInitialContextFactory");
  43.     Context         context = new InitialContext(props);
  44.     WebServiceProxy proxy   = (WebServiceProxy) context
  45.       .lookup("http://localhost:7001/calculator/Calculator/Calculator.wsdl");
  46.     SoapMethod      add     = proxy.getMethod("add");
  47.     long            add1    = 346;
  48.     long            add2    = 5623;
  49.     // a weblogic SoapMethod only returns objects and only
  50.     // takes objects thus the casting into Long
  51.     Long sum = (Long) add.invoke(new Object []{ new Long(add1),
  52.                                                 new Long(add2) });
  53.     System.out.println("adding " + add1 + " and " + add2 + " results in "
  54.                        + sum);
  55.   }
  56. }
  57. /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
  58. /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/