public class RPCClient {
public static void main(String[] args) throws Exception {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference("http://localhost:81/Axsi2Service/services/BookService?wsdl");
options.setTo(targetEPR);
// 指定ooooo方法的参数值
Object[] opAddEntryArgs = new Object[] { "超人" };
// 指定ooooo方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 指定要调用的ooooo方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://ws.apache.org/axis2/samples/book/xsd/","ooooo");
// 调用getGreeting方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0]);
// 下面是调用find方法的代码
classes = new Class[] { int.class };
opAddEntry = new QName("http://ws.apache.org/axis2/samples/book/xsd/", "find");
System.out.println(serviceClient.invokeBlocking(opAddEntry,new Object[] {}, classes)[0]);
//传对象和接收对象
opAddEntry = new QName("http://ws.apache.org/axis2/samples/book/xsd/", "findBook");
Book b = new Book();
b.setName("This is book!");
b.setISBN("1234-2234-3234-4234");
opAddEntryArgs = new Object[] {b};
OMElement ome = serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs);
Iterator iterator=ome.getChildElements();
while(iterator.hasNext()){
OMNode omNode = (OMNode) iterator.next();
if(omNode.getType()==omNode. ELEMENT_NODE){
OMElement omElement = (OMElement) omNode;
System. out.println( "***="+omElement.getLocalName());
if (omElement.getLocalName().toLowerCase().equals("return" )) {
Book u = (Book) BeanUtil.processObject(omElement, Book.class, null, true, new DefaultObjectSupplier(), null);
System. out.println(u.getName());
}
}
}
}
}
分享到:
相关推荐
在IT领域,Web服务是一种基于开放标准的互联网通信方式,允许不同系统间的应用程序进行交互。在本场景中,我们关注的是使用Java客户端访问Web服务的源码。这涉及到两个主要的技术:Java和Web Service,具体来说是...
在Python端,你需要安装`phprpc_client`库,通常通过pip来完成安装: ```bash pip install phprpc_client ``` 接下来,我们创建Python客户端。首先,定义你要调用的远程服务接口,然后实例化客户端并设置服务端的...
5. **创建Client端**:在客户端,也需要创建一个Mina连接器,通过连接器与服务端建立连接。然后,发送RPC请求并处理响应。 ```java Bootstrap bootstrap = new Bootstrap(); bootstrap.group(workerGroup) ....
"RpcClient"是调用RPC服务的代码,它负责构造请求,通过网络发送到服务器,并接收服务器的响应。客户端需要知道服务器的地址、服务接口和方法,以及可能需要的身份验证信息。 5. **文件传输**: 在这个实现中,...
在这个实例中,我们将深入探讨Hadoop RPC的工作原理、客户端(`hadoop_rcp_client`)与服务器端(`hadoop_rpc_server`)的角色以及它们之间的交互过程。 ### Hadoop RPC概述 Hadoop RPC是Hadoop框架中用于进程间...
2. **客户端**:在客户端,使用XML-RPC客户端API(如`org.apache.xmlrpc.client.XmlRpcClient`)创建一个客户端实例,配置服务器的URL,然后就可以调用服务器端注册的方法。 3. **数据交换**:XML-RPC使用XML格式来...
在Linux中,通常使用`rpcgen`工具生成RPC相关的C代码,这些代码包含了客户端和服务器端的接口定义。 步骤1:创建RPC接口定义 使用`rpcgen`工具,你需要编写一个名为`rpc.x`的接口定义文件,其中声明了RPC服务的协议...
4. **客户端句柄(CLIENT handle)** 和 **服务端句柄(SVCXPRT handle)**:这两个句柄是RPC库中的关键数据结构,它们分别代表了客户端和服务器的会话状态,用于跟踪和管理通信过程。 5. **RPC安全认证**:为了确保...
- **完整的客户端与服务器端功能**:支持客户端访问 portmapper 和完整的服务器端功能。 - **协议编译工具**:提供了一个纯 Java 的 .x 文件编译工具,可以生成与 rpcgen 兼容的代码。 - **开源与文档支持**:项目...
6. **RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Security.Error error Error #2048...** 错误#2048提示安全沙箱冲突,这通常发生在跨域访问时。确保已正确...
轻量RPC通信 一个完备的RPC框架在实现远程调用的基础上通常还有着健康监测,服务治理等方面的相关设施,以及易...同时发布基础包提供作为RPC Client端的基础向下游发起调用 /* * 通过注解和继承 指定path和输入输出类
Structs是一个用于构建Web应用的MVC框架,它提供了一种组织和管理应用程序的方式。将Hessian与Structs整合,可以在Structs的Action中定义服务接口,通过Hessian调用远程服务,将结果返回给前端视图。 3. **Spring...
文件_client_xp可能是Windows XP环境下编写的客户端示例代码,可能使用了特定的RPC库或gRPC实现。在实际应用中,需要确保客户端代码能够与服务器端接口兼容,并考虑不同Windows版本可能的差异。 总的来说,实现“可...
标题“spring-rpc-case”指的是一个关于Spring RPC的案例研究,RPC(Remote Procedure Call)是远程过程调用,一种在分布式系统中实现客户端与服务器端通信的技术。Spring框架提供了Spring RPC支持,允许开发者构建...
标题和描述均提到“Flex_RPC错误大全”,这表明文章旨在汇总和解析在使用Flex与.NET进行通信时常见的错误。文章的标签“flex rpc”进一步强调了主题,即围绕Flex远程过程调用(RPC)的问题。以下是对部分提及的错误...
在提供的文件名"RPCClient"中,我们推断这是一个客户端应用程序,它将使用QtRO的API来发起RPC调用。客户端通常需要知道服务端的地址和暴露的接口,然后就可以像调用本地函数一样调用远程服务了。 另一个文件名"RPC...
服务器端定义了可以被客户端(Client)调用的一系列函数,例如`combine`和`multiply`。这些函数会被存储在一个对象中,以便客户端可以访问。 客户端在连接到服务器后,会发送一个`describe`命令,请求获取服务器...
自定义RPC(Remote Procedure Call)是一种在分布式系统中实现客户端与服务器端通信的技术。RPC使得开发者可以像调用本地方法一样调用远程服务,极大地简化了分布式应用的开发。在这个"自定义RPC .rar"压缩包中,...
4. 错误处理:HbaseClient具有良好的错误恢复机制,当服务器端出现问题时,客户端会自动重试,保证数据操作的可靠性。 5. 客户端缓存:为了提高性能,HbaseClient使用了缓存策略,如Cell缓存和RowCache。Cell缓存将...
本系统涵盖了Web端和RCP(Rich Client Platform)客户端两种交互方式,旨在提供高效、便捷的图书检索、借阅、归还等服务。下面将对这个系统的组成部分及其相关技术进行详细解析。 首先,我们要理解“Web端”在图书...