问题描述
接口服务端的方法:@Produces("application/xml")@Consumes("application/xml")@Path("login")@SingletonpublicclassHelloServiceImplimplementsHelloService{@POST@Path("userVerify")@Produces("application/xml")@Consumes("application/xml")publicintadd(inta,intb){System.out.println(a+"+"+b+"="+(a+b));returna+b;}}axis客户端调用方式Stringoaurl="http://127.0.0.1:8888/myHelloService?wsdl";Serviceservice=newService();Callcall=(Call)service.createCall();call.setTargetEndpointAddress(newjava.net.URL(oaurl));call.setOperationName(newQName("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);//设置返回类型Stringresult=(String)call.invoke(newObject[]{"1","2"});System.out.println("----->"+result);
解决方案
解决方案二:
AAAAAAA
解决方案三:
你用SOAPUI调用SERVICE接口可以看到该接口的参数名是arg0,arg1不会是a,b所以认不到a,b参数