WEB开发网
开发学院软件开发Java JAX-RPC 与 JAX-WS 的比较,第 4 部分:动态调用接... 阅读

JAX-RPC 与 JAX-WS 的比较,第 4 部分:动态调用接口

 2009-11-03 00:00:00 来源:WEB开发网   
核心提示: JAX-RPC 的动态调用接口JAX-RPC 的动态调用接口(Dynamic Invocation Interface,DII)是 Call 对象 (javax.xml.rpc.Call),JAX-RPC 与 JAX-WS 的比较,第 4 部分:动态调用接口(2),清单 2 中给出了使用 Cal

JAX-RPC 的动态调用接口

JAX-RPC 的动态调用接口(Dynamic Invocation Interface,DII)是 Call 对象 (javax.xml.rpc.Call)。清单 2 中给出了使用 Call 对象调用清单 1 的 HelloWorld 服务的完整客户机主类。还可以在清单 2 的介绍中看到对抽象步骤进行了说明。


清单 2. JAX-RPC 的 DII 客户机
        package com.ibm.samples.dii; 
 
import javax.xml.namespace.QName; 
import javax.xml.rpc.Call; 
import javax.xml.rpc.ParameterMode; 
import javax.xml.rpc.Service; 
import javax.xml.rpc.ServiceFactory; 
import javax.xml.rpc.encoding.XMLType; 
 
public class HelloWorldClient { 
 
  public static void main(String[] args) { 
    try { 
      // Define the service. 
      QName serviceName = new QName( 
          "urn:helloWorld/sample/ibm/com", 
          "HelloWorldService"); 
      ServiceFactory factory = ServiceFactory.newInstance(); 
      Service service = factory.createService(serviceName); 
 
      // Create the dynamic invocation object from this service. 
      Call call = service.createCall(); 
      call.setTargetEndpointAddress( 
          "http://localhost:9081/HelloWorldService/services/port"); 
 
      // Build the message. 
      QName operationName = new QName( 
          "urn:helloWorld/sample/ibm/com", 
          "hello"); 
      call.setOperationName(operationName); 
      call.addParameter( 
          "name",       // parameter name 
          XMLType.XSD_STRING, // parameter XML type QName 
          String.class,    // parameter Java type class 
          ParameterMode.IN); // parameter mode 
      call.setReturnType(XMLType.XSD_STRING); 
      call.setProperty( 
          Call.OPERATION_STYLE_PROPERTY, 
          "wrapped"); 
 
      // Invoke the operation. 
      Object[] actualArgs = {"Georgia"}; 
      String response = (String) call.invoke(actualArgs); 
      System.out.println("response = " + response); 
    } 
    catch (Throwable t) { 
      t.printStackTrace(); 
    } 
  } 
  }

上一页  1 2 3 4  下一页

Tags:JAX RPC JAX

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接