⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guidgenclient.java

📁 JavaWeb服务应用开发详解的配套源码,欢迎下载
💻 JAVA
字号:
  package samples.guidgen;
  
  import java.io.*;
  import java.util.*;
  import java.net.*;
  import org.w3c.dom.*;
  import org.apache.soap.util.xml.*;
  import org.apache.soap.*;
  import org.apache.soap.encoding.*;
  import org.apache.soap.encoding.soapenc.*;
  import org.apache.soap.rpc.*;
  import org.apache.soap.transport.http.SOAPHTTPConnection;
  
  /**
   * Client to speak to MS SOAP implemented GUIDGen service at
   * http://www.itfinity.net/soap/guid/details.html
   *
   * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
   */
  public class GuidGenClient {
    public static final String DEFAULT_SERVICE_URL =
      "http://www.itfinity.net/soap/guid/Default.asp";
  
    public static void main(String[] args) throws Exception {
      String serviceURL = null;
      boolean goodUsage = true;
      String proxyHost = null;
      int proxyPort = -1;
  
      // parse command line arguments
      for (int i = 0; i < args.length; i++) {
        if ("-p".equalsIgnoreCase(args[i])) {
          goodUsage = false;
          if (args.length > i) {
            i++;
            int pos = args[i].indexOf(':');
            if (pos != -1) {
              try {
                proxyPort = Integer.parseInt(args[i].substring(pos + 1));
                proxyHost = args[i].substring(0, pos);
                goodUsage = true;
              } catch(NumberFormatException nfe) {
              }
            }
          }
        } else if (serviceURL == null)
          serviceURL = args[i];
        else {
          goodUsage = false;
          break;
        }
      }
  
      if (!goodUsage) {
        System.err.println ("Usage: java samples.guidgen.GuidGenClient " +
                            "[service-URL] [-p <HTTP proxy hostname:port>]");
        System.exit (1);
      }
  
      if (serviceURL == null)
        serviceURL = DEFAULT_SERVICE_URL;
      URL url = new URL (serviceURL);
  
      // define deserializers for the return things (without xsi:type)
      SOAPMappingRegistry smr = new SOAPMappingRegistry ();
      StringDeserializer sd = new StringDeserializer ();
      smr.mapTypes (Constants.NS_URI_SOAP_ENC,
                    new QName ("", "Result"), null, null, sd);
  
      // create the transport and set parameters
      SOAPHTTPConnection st = new SOAPHTTPConnection();
      if (proxyHost != null) {
          st.setProxyHost(proxyHost);
          st.setProxyPort(proxyPort);
      }
  
      // build the call.
      Call call = new Call ();
      call.setSOAPTransport(st);
      call.setSOAPMappingRegistry (smr);
      call.setTargetObjectURI ("http://www.itfinity.net/soap/guid/guid.xsd");
      call.setMethodName("NextGUID");
      call.setEncodingStyleURI ("http://schemas.xmlsoap.org/soap/encoding/");
  
      // invoke it
      System.err.println ("Invoking GUID generator service at: ");
      System.err.println ("\t" + serviceURL);
      Response resp;
      try {
        resp = call.invoke (url, DEFAULT_SERVICE_URL);
      } catch (SOAPException e) {
        System.err.println("Caught SOAPException (" +
                           e.getFaultCode () + "): " +
                           e.getMessage ());
        return;
      }
  
      // check response 
      if (!resp.generatedFault()) {
        Parameter ret = resp.getReturnValue();
        Object value = ret.getValue();
  
        System.out.println ("Next GUID is: " + value);
      }
      else {
        Fault fault = resp.getFault ();
        System.err.println ("Generated fault: ");
        System.out.println ("  Fault Code   = " + fault.getFaultCode());  
        System.out.println ("  Fault String = " + fault.getFaultString());
      }
    }
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -