恳请高手指点小弟在这跪等!关于.NET的WEB服务java客户端进行调用问题(后续狂给分)
我的具体情况是这样的
技术主管给我一个webservice接口让我做,.NET服务已经做好了并经过测试成功内网访问链接是http://192.168.1.112/WSInterface/WSInterface.asmx?WSDL
具体用什么方式来进行调用没有规定,我暂用的是axis访问代码如下:
public class Test{
String endpoint = "http://192.168.1.112/WSInterface/WSInterface.asmx?WSDL ";
public Test() {
}
public static void main(String[] args){
Test test = new Test();
Object[] objparams = new Object[22]; //提供给服务的参数
for(int i = 0;i < 22;i++){ //循环附上测试数据
objparams[i] = "test data ";
}
objparams[5] = new Integer(0);//第六个是个整数
System.out.println(test.executeAdd(objparams));//调用服务并输出结果
}
public String executeAdd(Object[] params){
String exec_result = null;
try {
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL(endpoint));
call.setOperationName(new QName( "http://tempuri.org/ ", "Add "));
//call.setOperationName( "Add ");
//call.setUsername( "mdbq ");
//call.setPassword( "123456 ");
call.setUseSOAPAction(true);
call.setSOAPActionURI( "http://tempuri.org/Add ");
//下面是一堆参数
call.addParameter( "fbm ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "fdw ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "fdh ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "fdz ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ffzr ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ffl ",XMLType.XSD_INT,ParameterMode.IN);
call.addParameter( "fkzq ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "fgsdm ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "flx ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel1 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname1 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel2 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname2 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel3 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname3 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel4 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname4 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel5 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname5 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftel6 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "ftelname6 ",XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "fsszd ",XMLType.XSD_STRING,ParameterMode.IN);
//设置返回类型在这里
call.setReturnType(XMLType.XSD_STRING);
//开始调用
exec_result = (String)call.invoke(params);
return exec_result;
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
ret