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包后直接可以测试;
Axis中传递复杂对象和内部类 Axis中的handler、chain的特性 Axis中处理异常信息 Axis中传递文件信息 Axis常用命令介绍 Axis 提供的工具和调试 Axis 的wsdl生成代码 Axis的Header信息操作 .Net调用Axis出现的问题
Axis的辅助工具发布、调用WebService Axis WebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的JavaBean发布WebService Axis异步调用WebService Axis ...
当然,也可以象第一个项目一样,直接通过HTTP SOAP协议调用WebService。在第二个项目中同时使用了这两种方式来实现。这两种调用方式分别封装在两组Model类中。可以通过配置 struts.xml文件来提定使用哪组模型类...
NULL 博文链接:https://songjianyong.iteye.com/blog/1920078
wcf接口是由.net提供的webservice接口,一般是使用wsdl文件的样式发布,在wsdl文件中,包含该...将这些生成的文件放在相应项目,就可以像调用本地的类一样调用webservice提供给的方法了。 具体步骤: 1、通过w
cxf集成Spring发布发布webservice及axis远程调用webservic程序,提供自己封装的工具类。文件为整个工程目录可以直接运行
几年前用java开发以及调用webservice服务都是比较复杂的事情,但现在已经变得很简单。Axis已经为我们做好了一切,我们只需要使用它的工具方法生成我们自己想要的webservice服务即可。这里只先讲一下通过WSDL描述,来...
目 录 1.1.WEBSERVICE简介...................4.AXIS的常用的命令和调试工具的使用................72 4.1AXIS的常用命令:...............................72 4.2调试工具的使用.................................72
java调用c#接口,带soaphead认证。 先用soapui工具,测试c#的webservice接口, WsdlUtil4Http类可以调用任何类型的webservice createXml这个方法,就是接soapui调用时的...另不家axis调用WsdlUtil类,可供使用。
3、创建类定义.......................................................................................................................15 四、扩展1-使用xfire 插件创建客户端代码..............................