java如何调用webservice接口

山城忙碌人 2011-08-01 08:44:16
webservice接口文档如下

queryUserAmount方法
参数名称 参数类型 参数说明
userName String 用户名
passWord String 密码


返回值说明:
<?xml version="1.0" encoding="utf-8" ?>
<double xmlns="http://www.test.com/">10</double>
说明:接口返回一个double类型值。
此处的值表示余额条数。如 3 (余额 3 条)。
本处返回数值 10 。意思是还有余额 10 条短信。

我的java程序如下:
public static void main(String[] args) {
String url = "http://www.test.com/textServices/textService.asmx?wsdl";
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName("GetBalance");
call.addParameter("userName",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("passWord",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
//注:这里的参数我一直不知道怎么写
// 方法的返回值类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_INT);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://www.text.com/queryUserAmount");
String userName = "admin";
String uesrPassWord = "1234";
String result = (String)call.invoke(new Object[]{userName,uesrPassWord});

//给方法传递参数,并且调用方法
System.out.println("result is "+result);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

这是我的程序,请问正确的程序应该怎么写呢。我不会用java调用webservice。谢谢了。。
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwilovehome 2011-08-17
  • 打赏
  • 举报
回复
cxf就是Xfire.使用myeclipse里面有自带的,很简单的。
wen691 2011-08-08
  • 打赏
  • 举报
回复
cxf
luohuijun619 2011-08-08
  • 打赏
  • 举报
回复
用xfire吧,网上有Ant自动生成WebService客户端
山城忙碌人 2011-08-02
  • 打赏
  • 举报
回复
怎么没人回啊。。。。。
DavidChou 2011-08-02
  • 打赏
  • 举报
回复
call.addParameter("passWord",
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);

就是以这种方式传递参数的,addParameter的方式可以传递你在webService时需要的参数。你这是Axis方式实现的webService。另外推荐你一种xfire的方式,下去可以研究一下。
山城忙碌人 2011-08-02
  • 打赏
  • 举报
回复
cxf是什么?
麻烦给你给个例子好不。
shaobaitou 2011-08-02
  • 打赏
  • 举报
回复
昨天我也用了这个。也是报错了。就改用了cxf。
果真要容易些。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧