WEB开发网
开发学院软件开发Java 用 JAX-RPC 构建 RPC 服务和客户机(下) 阅读

用 JAX-RPC 构建 RPC 服务和客户机(下)

 2010-04-06 00:00:00 来源:WEB开发网   
核心提示: 清单 23. 为服务调用设置端点和操作publicObject[]search(Stringkeyword)throwsIOException{try{if(service==null){service=newService();}if(call==null){call=(Call)servic

清单 23. 为服务调用设置端点和操作

public Object[] search(String keyword) throws IOException { 
 try { 
  if (service == null) { 
   service = new Service(); 
  } 
  if (call == null) { 
   call = (Call)service.createCall(); 
  } 
  if (serviceUrl == null) { 
   serviceUrl = new URL(SERVICE_URL); 
  } 
  call.setTargetEndpointAddress(serviceUrl); 
 
  // Select operation to call 
  call.setOperationName(new QName("http://soapinterop.org/", 
             "search")); 
 
  // placeholder 
  return new Object[]; 
 
 } catch (MalformedURLException e) { 
  throw new IOException("Error creating service URL at " + SERVICE_URL); 
 } catch (ServiceException e) { 
  throw new IOException("Error creating service call: " + e.getMessage()); 
 } 
}

获得结果

下面就要执行实际调用(使用 Call 对象)并获得结果。这要用 invoke() 方法来完成,这个方法以一个对象数组作为参数:(Object[])。按照次序把参数放在这个数组中。对于 search() 方法,只有一个参数(关键字),所以像下面这样创建对象数组:

Object[] params = new Object[] { keyword };

如果要传递多个参数,比如在 addBook() 方法中,就要使用下面这样的代码:

上一页  3 4 5 6 7 8 9 10  下一页

Tags:JAX RPC 构建

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