博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
axis2 对webservice进行接口的调用
阅读量:6364 次
发布时间:2019-06-23

本文共 2146 字,大约阅读时间需要 7 分钟。

axis2 就不说太多了,我也不太懂,在apache上自己下载axis的jar包,导入到项目中,

下面就是实现代码了:

import java.util.Iterator;

import javax.xml.namespace.QName;

import org.apache.axiom.om.OMAbstractFactory;

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

public class Demo {

private static void axis2WebService() {
try {
String soapBindingAddress = "http://192.168.0.55:9080/itsm/schemas/ProductServices?wsdl";
ServiceClient sender = new ServiceClient();
EndpointReference endpointReference = new EndpointReference(soapBindingAddress);
Options options = new Options();
options.setTo(endpointReference);
sender.setOptions(options);
OMFactory fac = OMAbstractFactory.getOMFactory();
// 这个和qname差不多,设置命名空间
OMNamespace omNs = fac.createOMNamespace("http://www.chinawiserv.com/onecenter",""); //这个是namespace的str
OMElement data = fac.createOMElement("getProducts", omNs);   //getProducts是方法
// 对应参数的节点
String[] strs = new String[] { "arg0" };
// 参数值 ,以json的格式进行传递
String[] val = new String[] { "{\"userId\":\"1\"}"};
for (int i = 0; i < strs.length; i++) {
QName qname=new QName(strs[i]);
OMElement inner = fac.createOMElement(qname);
inner.setText(val[i]);
data.addChild(inner);
}
System.out.println(data);
// 发送数据,返回结果
OMElement result = sender.sendReceive(data);
System.out.println(result.toString());
//下面是返回的数据解析,返回的是json格式的数据,对string进行jsonobject
Iterator iterator = result.getChildElements();

OMElement result1 = null;

while (iterator.hasNext()) {
result1 = (OMElement) iterator.next();
System.out.println(result1.getText());
}
String re = result1.getText();
JSONObject json_test = JSON.parseObject(re);
System.out.println(json_test.getString("info"));
System.out.println(json_test.getString("result"));
} catch (AxisFault ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
axis2WebService();
}
}

转载于:https://www.cnblogs.com/liuyun-10/p/7600071.html

你可能感兴趣的文章
SAP顾问的人脉比技术更为重要
查看>>
FI/CO PA考试试卷
查看>>
汽车介质应用非常严苛?没关系,新技术带来的高精度传感器十分适应!
查看>>
天合光能 - 用计算捕捉“光的能量”
查看>>
使用sysbench压力测试MySQL(一)(r11笔记第3天)
查看>>
css知多少(11)——position
查看>>
【Spring】定时任务详解实例-@Scheduled
查看>>
先有的资源,能看的速度看,不能看的,抽时间看。说不定那天就真的打不开了(转)...
查看>>
[20161028]rman与filesperset=1.txt
查看>>
哪些领域适合开发微信小程序
查看>>
谁说数据库防火墙风险大?可能你还不知道应用关联防护
查看>>
ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
查看>>
数据的阴暗面:什么是暗数据?为什么暗数据很重要?
查看>>
怎样做一个企业?尤其是在这个互联网时代
查看>>
防患于未然,网络安全由全而智
查看>>
DVNA:Node.js打造的开源攻防平台
查看>>
现有的大数据公司,都是如何赚钱的呢?
查看>>
17个案例带你3分钟搞定Linux正则表达式
查看>>
Java 8 比较器:如何对 List 排序
查看>>
CVPR 2017最佳论文作者解读:DenseNet 的“what”、“why”和“how”|CVPR 2017
查看>>