导航:首页 > 配服务器 > axis客户端如何引用服务器端的类

axis客户端如何引用服务器端的类

发布时间:2024-05-30 04:48:17

java怎么使用axis调用webservice

方式一:生成客户端代码调用方式。
通过插件工具生成客户端代码进行调用。例如:存在一服务为 http://127.0.0.1:8000/axis2/services/SMSSendService?wsdl通过插件可以生成SMSSendServiceStub.Java和SMSSendServiceCallbackHandler.java类。调用的客户端代码如:

try {

SMSSendServiceStub stub=new SMSSendServiceStub();

SMSSendServiceStub.method1 m1=new SMSSendServiceStub.method1();
m1.setParam1("xxx");

try {
String ret=stub.multiSend(m1).get_return();
System.out.print(ret);
} catch (RemoteException e) {
e.printStackTrace();
}
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
方式二:使用axis2.rpc.client.RPCServiceClient方式调用。

调用的代码简单举例如下:

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
......

try {

final String endpoint = "http://127.0.0.1:8000/axis2/services/SMSSendService";
String opName = "method1";
String param="xxx";
Object[] opArgs = new Object[] { param };
Class<?>[] opReturnType = new Class[] { String[].class };

RPCServiceClient serviceClient = new RPCServiceClient();//此处RPCServiceClient 对象实例建议定义成类中的static变量,否则多次调用会出现连接超时的错误。

Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(endpoint);
options.setTo(targetEPR);
QName opQName = new QName("http://service.ws.sms.ipcc.ydtf.com",
opName);
Object[] ret = serviceClient.invokeBlocking(opQName, opArgs,
opReturnType);
System.out.println(((String[]) ret[0])[0]);
} catch (AxisFault e) {
e.printStackTrace();
}

阅读全文

与axis客户端如何引用服务器端的类相关的资料

热点内容
新老鸟虚拟资源网解压码 浏览:557
如何用域用户登录ftp服务器 浏览:22
如何将读书郎平板升级安卓系统 浏览:338
XC16编译器有免费的吗 浏览:498
编译和程序编辑 浏览:847
androidv4和v7 浏览:714
iphoneapp怎么从文件夹安装 浏览:21
去掉加密平板电脑 浏览:376
二叉树用什么编译器写 浏览:322
手机除了主板还有什么app 浏览:182
如何还原在服务器上删除的文件 浏览:851
pdf转成黑白的 浏览:20
程序员为什么是单身 浏览:928
选项卡中的命令组被称为什么 浏览:261
navicatlinux破解 浏览:612
加密视频可以用采集卡吗 浏览:292
php正则表达式2 浏览:482
手机编译的c程序怎么安装 浏览:222
vue编译cdn 浏览:933
单片机矩阵键盘显示 浏览:230