接口格式是这样的 int HisTrans(string ParamIn, ref string ParamOut)
我java的写法是:
String paramIn = "GetHealthYE卡号";
String url = "http://ip:668/jjzyy/weixinwebservice.asmx";// 访问的url
String namespace = "http://tempuri.org/";// xml文件中的targetNamespace名称
String methodName = "HisTrans";// 要调用的方法名称
String soapActionURI = "http://tempuri.org/HisTrans";// targetNamespace+methodName
try {
Call call;// 引用org.apache.axis.client.Call;
Service service = new Service();// org.apache.axis.client.Service;
call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
call.setOperationName(new QName(namespace, methodName));
call.addParameter(new QName(namespace, "ParamIn"),
org.apache.axis.encoding.XMLType.XSD_STRING,
ParameterMode.IN);// byProvinceName传人的参数名称要和wsdl文件的一样,XSD_STRING传人的参数类型
call.addParameter(new QName(namespace, "ParamOut"),
org.apache.axis.encoding.XMLType.XSD_STRING,
ParameterMode.IN);// byProvinceName传人的参数名称要和wsdl文件的一样,XSD_STRING传人的参数类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 返回的参数,根据具体返回值修改
String[] str = new String[2];
str[0] = paramIn;// 第一个参数值
str[1] = "";// 第一个参数值
Object obj = (Object) call.invoke(str);
System.out.println("obj + " + obj.toString() + ";" + str[1]);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
有没有什么方式可以获取到 ParamOut的值(把类型设置成OUT 会报错)