日期:2014-05-18  浏览次数:20750 次

恳请高手指点小弟在这跪等!关于.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