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

📄 complexinvokeclient.java

📁 Eclipse的插件
💻 JAVA
字号:
package samples.complexinvoke;

import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
import org.apache.soap.encoding.*;
import org.apache.soap.encoding.soapenc.*;
import org.apache.soap.util.xml.*;
import com.ibm.www.namespace.wsif.samples.complexinvoke.types.Contact;
import com.ibm.www.namespace.wsif.samples.complexinvoke.types.Phone;

public class ComplexInvokeClient {
  public static void main (String[] args) throws Exception {
    if (args.length != 5) {
      System.err.println ("Usage: java " + ComplexInvokeClient.class.getName () +
                          " SOAP-router-URL name area-code exchange number");
      System.exit (1);
    }

    URL url = new URL (args[0]);

    Phone echoPhoneData = new Phone((new Integer(args[2])).intValue(),
				    args[3], args[4]);
    Contact echoData = new Contact(args[1], echoPhoneData);

    SOAPMappingRegistry smr = new SOAPMappingRegistry();
    BeanSerializer beanSer = new BeanSerializer();

    // Map the types.
    smr.mapTypes(Constants.NS_URI_SOAP_ENC,
                 new QName("http://www.ibm.com/namespace/wsif/samples/complexinvoke/types", "contact"),
                 Contact.class, beanSer, beanSer);
    smr.mapTypes(Constants.NS_URI_SOAP_ENC,
                 new QName("http://www.ibm.com/namespace/wsif/samples/complexinvoke/types", "phone"),
                 Phone.class, beanSer, beanSer);

    // Build the call.
    Call call = new Call ();
    call.setSOAPMappingRegistry(smr);
    call.setTargetObjectURI ("urn:complex:invocationService#invocationServiceBP#caller#urn:complex:invocationService#invocationPT");
    call.setMethodName ("invokeMe");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    Vector params = new Vector ();
    params.addElement (new Parameter("datain", Contact.class, 
                                     echoData, null));
    call.setParams (params);

    // make the call: note that the action URI is empty because the 
    // XML-SOAP rpc router does not need this. This may change in the
    // future.
    Response resp = call.invoke (/* router URL */ url, /* actionURI */ "" );

    // Check the response.
    if (resp.generatedFault ()) {
      Fault fault = resp.getFault ();
      System.out.println ("Ouch, the call failed: ");
      System.out.println ("  Fault Code   = " + fault.getFaultCode ());  
      System.out.println ("  Fault String = " + fault.getFaultString ());
      System.out.println ("  Fault        = " + fault);
    } else {
      Parameter result = resp.getReturnValue ();
      System.out.println (result.getValue ());
    }
  }
}

⌨️ 快捷键说明

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