详解 Web service Axis2 JAVA调用.net接口 返回String的xml格式数据
2013-09-27 15:11
751 查看
Axis2相关jar包地址下载 http://download.csdn.net/detail/xyh94233/6329671
命名空间:
import java.sql.Connection; import java.text.SimpleDateFormat; import java.util.Date; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import org.apache.axis.client.Service; import org.apache.axis.client.Call; import org.apache.axis.encoding.XMLType; public class WebServiceAxisXml { public String sendUrl(Connection con,String accessType){ String xml = ""; String beginDate = ""; String endDate = ""; final String org_method = "GetAdmOrgUnitByUpdateTime"; final String usr_method = "GetLimitedEmpProfileByUpdateTime"; //发送请求的url final String org_url = "http://10.103.117.13:8055/WebService/AdmOrgUnitWSforHR.asmx"; final String usr_url = "http://10.103.117.13:8055/WebService/EmpWSforHR.asmx"; //命名空间 注意:此处为.net设置的名称,我们只要名称相同即可,文章末尾有截图展示.net接口中命名空间的位置以及名称;如果不设置该命名空间 //有可能报出Server did not recognize the value of HTTP Header SOAPAction 服务器无法识别的SOAPAction HTTP头的值 final String qName = "http://newsso.xxx.com/"; //接收参数的名称 String param_begin = "BeginDate"; String param_end = "EndDate"; String url = ""; String method = ""; if(accessType.equals("1")){ //org 获取的用户组信息 url = org_url; method = org_method; }else{ //user 用户信息 url = usr_url; method = usr_method; } try { //获取当前时间 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); beginDate = format.format(date);//+" 00:00:00"; endDate = format.format(date);//+ " 23:59:59"; //创建服务客户端. Service service = new Service(); Call call = null; // 通过service创建call对象 call = (Call) service.createCall(); // 设置service所在URL(连接点) call.setTargetEndpointAddress(url); /** * 设置要调用的方法:setOperationName的参数是javax.xml.namespace.QName实例 * 创建javax.xml.namespace.QName实例,第一个参数是webservice的url * 第二个对数是你调用的webservice方法名 */ call.setOperationName(new QName("http://hr.xxx.com/", method)); //需要传递过去的参数[参数名称,参数类型,传入] 这里必须用 new QName()不然可能对方接收不到该参数 call.addParameter(new QName(qName,param_begin),XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(qName,param_end), XMLType.XSD_STRING, ParameterMode.IN); //设置返回的类型值 string call.setReturnType(XMLType.XSD_STRING); //设置可识别的http信息 call.setUseSOAPAction(true); //访问.net命名空间名称+方法名称 String path = qName + method; call.setSOAPActionURI(path); //通过invoke方法获取返回值xml的字符串,注意 new Object[]这个数组如果你不需要传值过去,也需要在这里定义一个空值 xml = (String)call.invoke(new Object[]{beginDate,endDate}); } catch (Exception e) { e.printStackTrace(); } return xml; } }
命名空间:
相关文章推荐
- Axis2 java调用.net webservice接口的问题(郑州就维)
- java通过url调用远程接口返回json数据,有用户名和密码验证
- Java调用.NET XML Web Services返回的数据集合的方法
- JAVA如何调用对方http接口得到返回数据
- Jquery的Ajax调用Web service的function返回xml格式的数据集
- .net 调用java或者Java调用.net返回的数据转换问题
- Java用axis2调用.net发布的web services接口
- Java调用天气接口(百度天气)解析返回的JSON数据
- Java调用天气接口(百度天气)解析返回的JSON数据
- Java调用.NET XML Web Services返回的数据集合的方法
- Axis2 java调用.net webservice接口的问题2(郑州就维)
- java 调用wsdl接口同时将返回数据解析成json
- .NET调用外部接口将得到的List数据,并使用XmlSerializer序列化List对象成XML格式
- 纯java方式访问远程WebService接口返回的xml格式的数据保存在本地
- Java调用天气接口(百度天气)解析返回的JSON数据
- Axis2 java调用.net webservice接口的问题(郑州就维)
- JAVA调用返回XML格式数据的WebService,并通过XPath解析XML的应用
- [学习笔记]外部调用本地接口返回JSON数据
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- java调用第三方短信接口(聚合数据)(注册发送验证码)