`
378629846
  • 浏览: 212919 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

使用axis轻松调用Webservice

    博客分类:
  • java
阅读更多

使用axis1.4调用webservice有两种简单的方式:

1、直接使用axis提供的API调用,适用于webservice接口的参数和返回值都是String的情况。

try {
	Call call = (Call)new Service().createCall();
	call.setTargetEndpointAddress("http://192.168.1.234:8080/TestAxis");
	Object obj = call.invoke("auth", new String[]{"username","password"});
	System.out.println(obj);
} catch (Exception e) {
	e.printStackTrace();
}

 2、使用axis提供的工具类org.apache.axis.wsdl.WSDL2Java先生成客户端stub,然后像使用本地方法一样调用远程接口。可以按如下方式使用WSDL2Java类,WSDL2Java后面可以是url,也可是是wsdl文件。

    java -Djava.ext.dirs=e:/axis/lib org.apache.axis.wsdl.WSDL2Java http://192.168.1.234:8080/TestAxis.wsdl

这样在执行java的当前路径下就会生成TestAxis接口的客户端stub类。然后使用如下方式调用webservice,这种方式适合webservice接口的参数或返回值中包含自定义类的情况。

 

try {
	URL url = new URL("http://192.168.1.234:8080/TestAxis");
	TestAxisSoapBindingStub stub = new TestAxisSoapBindingStub(url,new Service());
    Account acct = new Account();
    acct.setName("username");
    acct.setPassword("password");
    boolean result = stub.checkAccount(acct);
    System.out.println(result);
} catch (Exception e) {
	e.printStackTrace();
}
 

经过测试axis1.4既可以调用axis发布的服务,也可以调用CXF发布的服务。

 

axis1.4的包见附件。

 

1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics