java使用axis2调用webservice接口实例
2017-10-17 11:08
661 查看
/** * Project Name:uwx * File Name:Axis2InterfaceUtils.java * Package Name:com.net.util * Author lc * Date:2017年10月17日上午10:57:17 * Copyright (c) 2017, 武汉海云健康科技股份有限公司 All Rights Reserved. * */ package com.net.util; import java.util.Map; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; import com.google.common.collect.Maps; /** * ClassName:Axis2InterfaceUtils * Function: TODO ADD FUNCTION. * Reason: TODO ADD REASON. * Date: 2017年10月17日 上午10:57:17 * @author lc * @version */ public class Axis2InterfaceUtils { public static String getRes(String xmlString, String callFunctionName){ try { RPCServiceClient client = new RPCServiceClient (); Options options = client.getOptions(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference("http://61.183.147.194:7008/hbgk_webservice_4.3.31/services/IncaInsiderService?wsdl"); options.setTo(targetEPR); //options.setAction("命名空间/WS 方法名"); // options.setAction("http://webservice.inca.com/IncaInsiderService"); // 指定IncaInsiderService方法的参数值 Object[] parmas = new Object[] { xmlString.toString()}; // 指定IncaInsiderService方法返回值的数据类型的Class对象 Class<?>[] classes = new Class[] { String.class }; // 指定要调用的IncaInsiderService方法及WSDL文件的命名空间 QName opAddEntry = new QName("http://webservice.inca.com", callFunctionName); // 调用IncaInsiderService方法并输出该方法的返回值 Object[] str = client.invokeBlocking(opAddEntry, parmas, classes); return str[0].toString(); } catch (AxisFault e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 返回xml数据 * @param response * @param map */ public static String getXmlData(String bodyKey, Map<String, String> map) { StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sb.append("<"+bodyKey+">"); for(String key: map.keySet()) { sb.append("<"+key+">" + map.get(key) + "</"+key+">"); } sb.append("</"+bodyKey+">"); return sb.toString(); } public static void main(String[] args) { //xmlString的格式 Map<String, String> param = Maps.newHashMap(); param.put("Insidercardno", "H00000005");//卡号 param.put("Insidername", "测试1");//姓名 param.put("Sex", "1");//性别(1:男,2:女) param.put("Mobile", "13698760000");//手机 param.put("Birthdate", "1988-01-01");//生日(格式: yyyy-mm-dd) param.put("Mailaddress", "武汉");//地址 String xmlString = Axis2InterfaceUtils.getXmlData("InsiderModel", param); // System.out.println(xmlString); System.out.println(Axis2InterfaceUtils.getRes(xmlString.toString(), "register")); } }
测试所需要的jar包可以到这里去下载:http://download.csdn.net/detail/xlb744868186/8301851。
相关文章推荐
- java使用axis2调用webservice接口实例
- 利用axis2调用带用户名和密码的webservice接口实例(java)
- axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方式调用网上免费WebService
- Axis2 webservice 之使用java调用webservice
- 使用Java-UrlConnection调用webService接口
- Axis2 java调用.net webservice接口的问题2(郑州就维)
- java使用axis调用webservice接口
- 使用Axis2用Java实现调用WebService的客户端程序
- (java使用myeclipse)调用webservice接口进行操作
- axis2 webservice入门知识(JS,Java,PHP调用实例源码)
- axis2 webservice入门学识(JS,Java,PHP调用实例源码)
- java调用C# webservice接口使用axis报错
- Java Web 跨平台 - 使用Apache Axis2引擎发布基于Java语言的WebService并跨平台调用实例
- 使用Axis2开发webservice服务端接口+axis开发的客户端调用
- Axis2 java调用.net webservice接口的问题(郑州就维)
- Java使用axis2调用wsdl形式的webservice
- java使用AXIS2调用asp.net的WebService
- Axis2 java调用.net webservice接口的问题(郑州就维)
- Java使用XFire调用WebService接口
- Java使用XFire调用WebService接口