butek       02/04/08 07:35:13

  Modified:    java/samples/jaxrpc GetQuote1.java
               java/samples/stock GetInfo.java
               java/test/functional TestJAXRPCSamples.java
  Added:       java/samples/jaxrpc GetInfo.java
  Log:
  More JAX-RPC compliant sample work:
  - added GetInfo which mirrors stock/GetInfo
  - fixed the original GetInfo so it works with the latest runtime
  - tweaked samples/jaxrpc/GetQuote1 so that it fits better into the test harness.
  
  Revision  Changes    Path
  1.2       +27 -31    xml-axis/java/samples/jaxrpc/GetQuote1.java
  
  Index: GetQuote1.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/jaxrpc/GetQuote1.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GetQuote1.java    5 Apr 2002 17:51:30 -0000       1.1
  +++ GetQuote1.java    8 Apr 2002 14:35:09 -0000       1.2
  @@ -196,7 +196,7 @@
           /* Now use those QNames as pointers into the WSDL doc */
           /******************************************************/
           Service service = ServiceFactory.newInstance().createService(
  -                new URL("file:GetQuote.wsdl"), servQN);
  +                new URL("file:samples/stock/GetQuote.wsdl"), servQN);
           Call call = service.createCall(portQN, "getQuote");
   
           /* Strange - but allows the user to change just certain portions of */
  @@ -218,41 +218,37 @@
           /* Reuse the Call object for a different call */
           /**********************************************/
           call.setOperationName(new QName("urn:xmltoday-delayed-quotes", "test"));
  +        call.removeAllParameters();
           call.setReturnType(XMLType.XSD_STRING);
   
           System.out.println(call.invoke(new Object[]{}));
           return ((Float) result).floatValue();
       } // getQuote3
   
  -    public static void main(String args[]) {
  -        try {
  -            String    save_args[] = new String[args.length];
  -            float     val;
  -            GetQuote1 gq = new GetQuote1();
  -
  -            /* Call the getQuote() that uses the WDSL */
  -            /******************************************/
  -            System.out.println("Using WSDL");
  -            System.arraycopy(args, 0, save_args, 0, args.length);
  -            val = gq.getQuote1(args);
  -            System.out.println(gq.symbol + ": " + val);
  -
  -            /* Call the getQuote() that does it all manually */
  -            /*************************************************/
  -            System.out.println("Manually");
  -            System.arraycopy(save_args, 0, args, 0, args.length);
  -            val = gq.getQuote2(args);
  -            System.out.println(gq.symbol + ": " + val);
  -
  -            /* Call the getQuote() that uses Axis's generated WSDL */
  -            /*******************************************************/
  -            System.out.println("WSDL + Reuse Call");
  -            System.arraycopy(save_args, 0, args, 0, args.length);
  -            val = gq.getQuote3(args);
  -            System.out.println(gq.symbol + ": " + val);
  -        }
  -        catch(Exception e) {
  -            e.printStackTrace();
  -        }
  +    public static void main(String args[]) throws Exception {
  +        String    save_args[] = new String[args.length];
  +        float     val;
  +        GetQuote1 gq = new GetQuote1();
  +
  +        /* Call the getQuote() that uses the WDSL */
  +        /******************************************/
  +        System.out.println("Using WSDL");
  +        System.arraycopy(args, 0, save_args, 0, args.length);
  +        val = gq.getQuote1(args);
  +        System.out.println(gq.symbol + ": " + val);
  +
  +        /* Call the getQuote() that does it all manually */
  +        /*************************************************/
  +        System.out.println("Manually");
  +        System.arraycopy(save_args, 0, args, 0, args.length);
  +        val = gq.getQuote2(args);
  +        System.out.println(gq.symbol + ": " + val);
  +
  +        /* Call the getQuote() that uses Axis's generated WSDL */
  +        /*******************************************************/
  +        System.out.println("WSDL + Reuse Call");
  +        System.arraycopy(save_args, 0, args, 0, args.length);
  +        val = gq.getQuote3(args);
  +        System.out.println(gq.symbol + ": " + val);
       } // main
   }
  
  
  
  1.1                  xml-axis/java/samples/jaxrpc/GetInfo.java
  
  Index: GetInfo.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package samples.jaxrpc;
  
  import org.apache.axis.encoding.XMLType; // This should probably be 
javax.xml.rpc.encoding.XMLType if we're told that class is approved (ie., it gets into 
the spec rather than just in the RI).
  import org.apache.axis.utils.Options;
  
  import javax.xml.rpc.Call;
  import javax.xml.rpc.ParameterMode;
  import javax.xml.rpc.Service;
  import javax.xml.rpc.ServiceFactory;
  
  import javax.xml.rpc.namespace.QName;
  
  /**
   * This version of GetInfo is a near-duplicate of the GetInfo class in
   * samples/stock.  This version is strictly JAX-RPC compliant.  It uses
   * no AXIS enhancements.
   *
   * @author Russell Butek ([EMAIL PROTECTED])
   */
  public class GetInfo {
  
      public static void main(String args[]) throws Exception {
          Options opts = new Options(args);
  
          args = opts.getRemainingArgs();
  
          if (args == null || args.length % 2 != 0) {
              System.err.println("Usage: GetInfo <symbol> <datatype>");
              System.exit(1);
          }
  
          String  symbol  = args[0];
          Service service = ServiceFactory.newInstance().createService(null);
          Call    call    = service.createCall();
  
          call.setTargetEndpointAddress(opts.getURL());
          call.setOperationName(new QName("urn:cominfo", "getInfo"));
          call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN);
          call.addParameter("info", XMLType.XSD_STRING, ParameterMode.IN);
          call.setReturnType(XMLType.XSD_STRING);
          call.setProperty(Call.USERNAME_PROPERTY, opts.getUser());
          call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword());
  
          String res = (String) call.invoke(new Object[] {args[0], args[1]});
  
          System.out.println(symbol + ": " + res);
      } // main
  }
  
  
  
  
  1.21      +1 -0      xml-axis/java/samples/stock/GetInfo.java
  
  Index: GetInfo.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/stock/GetInfo.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- GetInfo.java      27 Mar 2002 16:46:55 -0000      1.20
  +++ GetInfo.java      8 Apr 2002 14:35:13 -0000       1.21
  @@ -89,6 +89,7 @@
         call.setOperationName( new QName("urn:cominfo", "getInfo") );
         call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN );
         call.addParameter( "info", XMLType.XSD_STRING, ParameterMode.IN );
  +      call.setReturnType( XMLType.XSD_STRING );
         call.setUsername( opts.getUser() );
         call.setPassword( opts.getPassword() );
   
  
  
  
  1.2       +36 -7     xml-axis/java/test/functional/TestJAXRPCSamples.java
  
  Index: TestJAXRPCSamples.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/functional/TestJAXRPCSamples.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestJAXRPCSamples.java    5 Apr 2002 17:51:30 -0000       1.1
  +++ TestJAXRPCSamples.java    8 Apr 2002 14:35:13 -0000       1.2
  @@ -56,10 +56,15 @@
   package test.functional;
   
   import junit.framework.TestCase;
  +
   import org.apache.axis.AxisFault;
  +
   import org.apache.axis.client.AdminClient;
  +
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +
  +import samples.jaxrpc.GetInfo;
   import samples.jaxrpc.GetQuote1;
   
   /**
  @@ -85,7 +90,7 @@
       } // doTestGetQuoteXXX
       
       public void doTestGetQuoteMain() throws Exception {
  -        String[] args = {"-uuser1", "-wpass1", "IBM"};
  +        String[] args = {"-uuser1", "-wpass1", "XXX"};
           GetQuote1.main(args);
       } // doTestGetQuoteMain
   
  @@ -94,14 +99,9 @@
           AdminClient.main(args);
       } // doTestStockNoAction
   
  -    public static void main(String args[]) throws Exception {
  -        TestJAXRPCSamples tester = new TestJAXRPCSamples("tester");
  -        tester.testGetQuote();
  -    } // main
  -
       public void testGetQuote() throws Exception {
           try {
  -            log.info("Testing JAX-RPC GetQuote sample.");
  +            log.info("Testing JAX-RPC GetQuote1 sample.");
               log.info("Testing deployment...");
               doTestDeploy();
               log.info("Testing service...");
  @@ -117,6 +117,35 @@
               throw new Exception("Fault returned from test: " + t);
           }
       } // testGetQuote
  +
  +    public void testGetInfo() throws Exception {
  +        try {
  +            log.info("Testing JAX-RPC GetInfo sample.");
  +            log.info("Testing deployment...");
  +            doTestDeploy();
  +            log.info("Testing service...");
  +            String[] args = {"IBM", "symbol"};
  +            GetInfo.main(args);
  +            args = new String[] {"ALLR", "name"};
  +            GetInfo.main(args);
  +            args = new String[] {"CSCO", "address"};
  +            GetInfo.main(args);
  +            log.info("Testing undeployment...");
  +            doTestUndeploy();
  +            log.info("Test complete.");
  +        }
  +        catch (Throwable t) {
  +            if (t instanceof AxisFault) ((AxisFault)t).dump();
  +            t.printStackTrace();
  +            throw new Exception("Fault returned from test: " + t);
  +        }
  +    } // testGetInfo
  +
  +    public static void main(String args[]) throws Exception {
  +        TestJAXRPCSamples tester = new TestJAXRPCSamples("tester");
  +        tester.testGetQuote();
  +        tester.testGetInfo();
  +    } // main
   }
   
   
  
  
  


Reply via email to