-
大小: 2.88MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-09-11
- 语言: Java
- 标签: wsCaller WebService
资源简介
Web Service通用客户端和测试工具
代码片段和文件信息
package org.wix.wsCaller;
import org.apache.axis.Constants;
import org.apache.axis.encoding.ser.SimpleDeserializer;
import org.apache.axis.wsdl.gen.Parser;
import org.apache.axis.wsdl.symbolTable.*;
import javax.wsdl.*;
import javax.wsdl.extensions.soap.SOAPAddress;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.encoding.Deserializer;
import javax.xml.rpc.encoding.DeserializerFactory;
import java.util.*;
// Web Service Dynamic Invoker
public class DynamicInvoker
{
private Parser wsdlParser = null;
private Map services = null;
public DynamicInvoker(String wsdlURL) throws Exception
{
wsdlParser = new Parser();
wsdlParser.run(wsdlURL);
services = enumSymTabEntry(ServiceEntry.class);
}
public Map invoke(String serviceName
String portName
String operationName
Vector parameterValues) throws Exception
{
Vector inputs = new Vector();
String returnName = null;
ServiceEntry serviceEntry = (ServiceEntry) services.get(serviceName);
Service service = serviceEntry.getService();
org.apache.axis.client.Service clientService = new
org.apache.axis.client.Service(wsdlParser service.getQName());
Call call = clientService.createCall(QName.valueOf(portName)
QName.valueOf(operationName));
( (org.apache.axis.client.Call) call).setTimeout(new Integer(15 * 1000));
BindingEntry bindingEntry = getBindingEntry(serviceName portName);
Operation o = getOperation(bindingEntry operationName);
Parameters parameters = bindingEntry.getParameters(o);
if (parameters.returnParam != null)
{
QName returnType = org.apache.axis.wsdl.toJava.Utils.
getXSIType(parameters.returnParam);
QName returnQName = parameters.returnParam.getQName();
returnName = returnQName.getLocalPart();
}
int size = parameters.list.size();
for (int i = 0; i < size; i++)
{
Parameter p = (Parameter) parameters.list.get(i);
switch (p.getMode())
{
case Parameter.IN:
inputs.add(getParamData( (org.apache.axis.client.Call) call
p
(String) parameterValues.elementAt(i)));
break;
case Parameter.OUT:
break;
case Parameter.INOUT:
inputs.add(getParamData( (org.apache.axis.client.Call) call
p
(String) parameterValues.elementAt(i)));
break;
}
}
object ret = call.invoke(inputs.toArray());
Map outputs = call.getOutputParams();
HashMap map = new HashMap();
if (ret != null && returnName != null)
{
map.put(returnName ret);
}
if (outputs != null)
{
for (Iterator i = outputs.keySet().iterator(); i.hasNext(); )
{
object obj = i.next();
String name;
object value;
if (obj.getClass().getName().equals(“java.lang.String“))
{
name = (String) obj;
}
else
{
name = ( (QName) obj).getLocalPart();
}
value = outputs.get(obj);
map.put(name va
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
----------- --------- ---------- ----- ----
3363170 26
相关资源
- Android通过Webservice操作sqlserver数据库
- Axis2调用Webservice最全的Jar包
- android调用webservice
- cxf-2.4.2及必须依赖的包名
- ssh+cxf webservices完整版
- java定时进行webservice数据上报
- Android NanoHttpd搭建webservice
- JAVA SWing 实现C/S模式的数据库编程及
- AXIS2作为客户端调用webService的demo
- Android 网上购物商城
- AndroidStudio 调用 C#编写的Webservice
- Java webservice服务动态配置
- 使用jaxws创建webService所需的全部jar文
- jaxws-ri.2.5.5.zip
- Android调用WebService的包括服务器端和客
- 金蝶K3 webservice接口
- WebServiceUtils
- asp做WebService,输出JSON格式数据
- java实现WebService显示天气预报
- 本地调用外部WebService接口
- Android通过webservice连接SqlServerAndroid4
- C#通过SOAP使用HttpWebRequest调用带有身份
- java android 调用webservice
- xfire-all-1.2.6 架包冲突解决版本
- WebService 的调用天气预报Demo
- C#调用JavaWebService(客户端)
- jaxws-api-2.1-1.jar
- 银行esb开发全过程使用webservice
- php调用java写的webservice
- asp.net通过WebService调用Java接口全过程
评论
共有 条评论