import java.util.Map;
import java.util.Vector;
import java.util.Iterator;
import java.util.Arrays;
import org.apache.axis.wsdl.symbolTable.*;
public class wsCaller {
/**
* @param args
*/
public static void main(String[] args) {
String wsdlLocation =
"http://192.168.1.113/ReadOffice/ReadWord.asmx?wsdl";
String serviceName = "ReadWord";
String operationName = "read";
String strFirstParam = "c://nlb.log";
String strSecondParam = "0";
String strThirdParam = "200";
String portName = "ReadWordSoap";
/*
* 添加web service方法的输入参数到Vector
*/
Vector parameterValues = new Vector();
parameterValues.addElement(strFirstParam);
parameterValues.addElement(strSecondParam);
parameterValues.addElement(strThirdParam);
try
{
DynamicInvoker invoker = new DynamicInvoker(wsdlLocation);
/*
* 遍历web service每一个方法,获取serverName、参数列表以及类型的过程
*/
Vector vServices = invoker.enumServiceNames();
Object[] Services = vServices.toArray();
Arrays.sort(Services);
for (int i = 0; i
{
String strServiceName = (String) Services[i];
System.out.println("ServiceName=" + serviceName);
Vector V = invoker.enumPortNames(strServiceName);
String strPortName = (String) V.elementAt(0);
System.out.println("PortName=" + strPortName);
V = invoker.enumOperationNames(strServiceName, strPortName);
Object[] OperationNames = V.toArray();
Arrays.sort(OperationNames);
for (int j = 0; j
{
String strOperationName = (String) OperationNames[j];
System.out.println("/t" + (String) OperationNames[j]);
Parameters parameters = invoker.enumParameters(strServiceName, strPortName, strOperationName);
Vector v = parameters.list;
Vector vParameterValues = new Vector();
for (int k = 0; k
{
Parameter para = (Parameter) v.elementAt(k);
System.out.print("/t/t" + para.getQName().getLocalPart());
if (para.getType().getQName().getLocalPart().equals("string"))
{
vParameterValues.addElement("asdasdas");
}
else
{
vParameterValues.addElement(null);
}
System.out.print("/t" + para.getType().getQName().getLocalPart());
System.out.println("/t" + invoker.getParameterModeString(para));
}
}
}
// 最后一个参数是调用web service的超时时间,这个原来是固化在类里面的
// 但其实应该暴露出来
Map map = invoker.invoke(serviceName,
portName, operationName, parameterValues,
new Integer(60 * 1000));
// print result
System.out.println("Result:");
for (Iterator it = map.keySet().iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println(name + "=" + map.get(name));
}
System.out.println("/nDone!");
}
catch (Exception exc) {
exc.printStackTrace();
}
}
}
|
相关推荐
java基于Axis2调用C#开发的web service获取xml结果
使用Java+Axis2调用Web Services 网络接口,代码中列举4个例子可以查看,有详细注释提供参考。
java axis 调用C# webService所需的jar包
Java通过Axis2调用SAP的Webservice 生成Java Proxy
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
asp.net下开发的web服务。用java语言进行调用。
java 调用https发布的webservice接口实例及axis包及详细说明
Axis2 完美 教程 java c# 调用 doc
单位刚好有这么一个项目需要于客户端中调用webServices,整理了下资料发上来希望对大家有用。 axis 1.4 一共是三种方式调用: 1传递参数String,得到String 2传递参数String,得到对象Users 3传递对象Users,得到...
Axis开发Web Service实例,介绍AXIS的三种方法
Axis2创建web service快速入门
通过一个实例来学习Axis通过wsdd部署Web Service
2.Download the DynamicResponseHandler module and add it to Axis by copying it to WEB-INF/modules 3.Patch Jettison or download my patched version and replace it with the one installed in WEB-INF/lib...
本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。
用axis2开发web service,过程比用axis1开发web service简单
Axis2教程和java调用webservice的各种方法总结
java采用axis调用.net写的WebService,WebService的参数有传人和传出,传出的参数为ref,java端ParameterMode.OUT,传人的为ParameterMode.IN,WebService返回值为String,java利用Map取传出参数,对Map进行遍历取得...
.Web Service简介 .如何开发一个Web Service .Axis2简介 .Axis2安装与部署 .Web Service开发步骤