axis 客户端调用jax-rs 服务端时传参数问题

H90P0820 2014-09-11 10:12:54
接口服务端的方法:
@Produces("application/xml")
@Consumes("application/xml")
@Path("login")
@Singleton
public class HelloServiceImpl implements HelloService {

@POST
@Path("userVerify")
@Produces("application/xml")
@Consumes("application/xml")
public int add(int a, int b) {
System.out.println(a + "+" + b + "=" + (a+b));
return a+b;
}

}


axis客户端调用方式
String oaurl="http://127.0.0.1:8888/myHelloService?wsdl";
Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(new java.net.URL(oaurl));
call.setOperationName(new QName("http://startdima.com.cn/", "getEacSsoValidateName"));
//call.setOperationName("getEacSsoUserSystemName");// WSDL里面描述的接口名称

//这种方式掉可以
//call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_ANY,
// javax.xml.rpc.ParameterMode.IN);

//call.addParameter("arg1", org.apache.axis.encoding.XMLType.XSD_ANY,
// javax.xml.rpc.ParameterMode.IN);
//这种方式不行
call.addParameter("a", org.apache.axis.encoding.XMLType.XSD_ANY,
javax.xml.rpc.ParameterMode.IN);

call.addParameter("b", org.apache.axis.encoding.XMLType.XSD_ANY,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型

String result = (String)call.invoke(new Object[] { "1","2" });

System.out.println("----->"+result);
...全文
112 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxx290307635 2014-10-28
  • 打赏
  • 举报
回复
你用SOAPUI 调用SERVICE接口 可以看到该接口的参数名是arg0,arg1 不会是a,b 所以认不到a,b参数
H90P0820 2014-10-28
  • 打赏
  • 举报
回复
AAAAAAA

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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