1、axis调用webservice的方法
public static String getUnionCicWebserviceResult(String URL,String nameSpaceURL, String webMethod,Object[] params) {
org.apache.axis.client.Service s = new org.apache.axis.client.Service();
Call call;
String val = "";
try {
call = (Call) s.createCall();
call.setTargetEndpointAddress(new java.net.URL(URL));
call.setOperationName(new QName(nameSpaceURL, webMethod));
for (int i = 0; i < params.length; i++) {
call.addParameter("arg" + i,org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);// 此处参数名字必须为arg0,arg1形式
}
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
val = (String) call.invoke(params);
} catch (javax.xml.rpc.ServiceException e) {
e.printStackTrace();
return val;
} catch (MalformedURLException e) {
e.printStackTrace();
return val;
} catch (RemoteException e) {
e.printStackTrace();
return e.getMessage();
}
return val;
}
2、解析webservice返回的xml格式的方法
/**
* 解析华西联合门诊返回的xml字符串
* @param xmlStr
* @return Map<String,Object>
*/
@SuppressWarnings("unchecked")
public static Map<String,Object> getUnionCicResponseMap(String xmlStr) {
Document doc = null;
Map<String,Object> map = new HashMap<String, Object>();
try {
doc = DocumentHelper.parseText(xmlStr);
// 将字符串转为XML
Element rootElt = doc.getRootElement();
List<Element> childElements = rootElt.elements();
for (Element ele:childElements) {
// if("acknowledgement".equals(ele.getName())){
//解析xml格式标签中的属性
List attrList = ele.attributes();
for (int i = 0; i < attrList.size(); i++) {
Attribute item = (Attribute)attrList.get(i);
map.put(item.getName(), item.getValue());
}
// }
map.put(ele.getName(), ele.getStringValue());
}
} catch (DocumentException e) {
map.put("typeCode", "AE");
map.put("acknowledgement", e.getMessage());
e.printStackTrace();
return map;
}
return map;
}
3、将数据库查询结果封装为json格式
StringBuilder sb = new StringBuilder();
// 拼装病人信息
for (int i = 0; i < inofList.size(); i++) {
sb.append("{");
final Set<String> keys = inofList.get(i).keySet();
for (final String key : keys) {
final Object value = inofList.get(i).get(key);
sb.append("\"");
sb.append(key);
sb.append("\"");
if (value != null || !"null".equals(value)) {
sb.append(":\"");
sb.append(value);
sb.append("\",");
} else {
sb.append(":\"\",");
}
}
sb.setCharAt(sb.length() - 1, '}');
sb.append(",");
}
sb.setCharAt(sb.length() - 1, ' ');
json = "{\"status\":1,\"info\":[" + sb + "]}";
相关推荐
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
`AndroidWebService`可能是Android客户端项目,包含Android应用的代码,如Activity、Adapter、布局文件等,以及调用Web Service的相关类。`TestWebService`可能是一个测试项目,用于测试服务端的功能是否正常。 ...
标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...
本篇文章将深入探讨如何利用AXIS调用WebService,以及所需的JAR包及其作用。 首先,理解AXIS的基本概念至关重要。Apache Axis是Apache软件基金会开发的一个开源项目,它是一个用于构建Web服务和客户端的工具集。...
在描述中提到,“客户端用axis调用webservice实例”,意味着这个压缩包包含了完成该任务所需的Java类和资源。这通常包括配置文件、必要的库文件(jar包)以及可能的示例代码。开发者可以通过导入这些jar包到他们的...
Java Axis调用WebService服务端是Java开发者在进行分布式系统交互时常见的一种技术实践。Axis是Apache软件基金会开发的一个开源项目,它提供了一种方便、高效的方式,使得Java应用程序能够作为客户端来消费或作为...
AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...
1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...
标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...
标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...
本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...
2. **创建Stub**:调用WebService接口通常需要通过Stub(代理类)进行,这可以通过Axis2的wsdl2java工具生成。该工具会根据WebService的WSDL(Web Service Description Language)文件生成Java客户端代码。在命令行...
确保这些jar包在项目的类路径中,才能正确地使用Axis调用WebService接口。 三、调用流程 1. 创建代理对象:首先,根据WSDL文件生成Java服务代理类。可以使用Axis的wsdl2java工具,或者直接在Eclipse等IDE中导入WSDL...
总之,使用Axis调用WebService服务端是一个涉及接口定义、服务部署、客户端代码生成和执行的过程。理解这些步骤,以及如何处理可能出现的问题,对于任何需要集成Web服务的项目都是至关重要的。在实际开发中,熟练...
在Java中使用Axis调用Webservice,首先需要引入必要的库文件。这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析...
1. **设置环境**:确保你的开发环境中已经安装了Java JDK、Maven(或Gradle)构建工具,以及Apache Axis和Spring框架的相关依赖。这些可以通过在项目的pom.xml文件中添加相应的依赖来完成。 2. **创建Web服务**:...
- 创建并使用Axis2的客户端,生成Stub类,调用远程服务。 - 理解SOAP消息的结构和HTTP传输机制。 - 掌握异常处理和日志记录在Web服务开发中的应用。 通过这个例子,开发者能够深入理解Web服务的工作原理,以及如何...
1. **配置Axis2**:在Spring项目中,首先需要将Axis2的相关库添加到项目的类路径下。这些库通常包括`axis2-*.jar`, `axiom-*.jar`, `neethi-*.jar`, `wsdl4j-*.jar`, `commons-discovery-*.jar`, `commons-logging-*...
Java Axis可以通过这个WSDL文件自动生成客户端 stubs(代理类),使得我们可以直接调用WebService的方法。 2. **生成Java客户端代码**:使用Axis的wsdl2java工具,根据.WSDL文件生成Java客户端代码。这将包括一系列...
本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java动态调用Web Service**: 在Java中,动态调用Web Service主要涉及到JAX-WS(Java ...