RPC方式调用远程webservice接口
/**
* 可调整调用方法与命名空间的请求
* @param wsMethod 方法名
* @param bodyMessage json请求体.toString()
* @return JSONObject
*/
public static JSONObject sendMessage( String wsMethod, String bodyMessage) {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient;
JSONObject reqBody = new JSONObject();
try {
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 设置超时时间
options.setTimeOutInMilliSeconds(timeOut);
options.setProperty(HTTPConstants.SO_TIMEOUT, timeOut);
// 指定调用WebService的URL
EndpointReference targetAddr = new EndpointReference(wsUrl);
options.setTo(targetAddr);
options.setAction(wsMethod);
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(nameSpace, wsMethod);
OMElement data = fac.createOMElement(wsMethod, omNs);
// 构造参数
OMElement inner = null;
//参数位置在XML中的data标签下
inner = fac.createOMElement("data", omNs);
inner.setText(bodyMessage);
data.addChild(inner);
//返回方法名
wsMethod = wsMethod+"Return";
//返回参数
String reMessage = null;
// 发起调用
logger.info("调用远程EAS接口,请求方法 : "+ wsMethod);
logger.info("调用远程EAS接口,请求参数 : "+ bodyMessage);
OMElement result = serviceClient.sendReceive(data);
Iterator iterator = result.getChildElements();
while (iterator.hasNext()) {
OMElement resultMessage = (OMElement) iterator.next();
if (resultMessage.getLocalName().equals(wsMethod)) {
//获取返回数据
reMessage = resultMessage.getText();
}
}
if (!reMessage.isEmpty()) {
reqBody = JSONObject.parseObject(reMessage);
if (!"ok".equals(reqBody.getString("status"))){
logger.info("调用远程EAS接口失败,返回错误信息 : "+ reqBody.get("status").toString());
return reqBody;
}
logger.info("调用远程EAS接口成功,返回信息 : "+ reqBody.toString());
}
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
}
return reqBody;
}
RPC方式调用远程webservice接口的更多相关文章
- java webservices 以Axis1.4方式 调用sap webservice接口.
1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可. 2. 下载mail.jar和activation.jar 俩个包.下载地址:h ...
- java调用CXF WebService接口的两种方式
通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...
- java获取https网站证书,附带调用https:webservice接口
一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...
- Java 常调用的Webservice接口的方法
WebService是基于Web的服务,WebService使用SOAP协议实现跨编程语言和跨操作系统平台,接收和响应外部系统的某种请求,从而实现远程调用.WebService采用HTTP协议传输数据 ...
- java调用 C# webservice接口
java调用webservice接口方式有多种,本人很懒,测试一种满足我的需求,故为试验其他方法,仅供参考 一:工具 MyEclipse,C#编码发布的webservice接口 二:步骤 1.打开my ...
- PDA(Windows Mobile)调用远程WebService
之前用模拟器测试过调用远程的WebService,发现总是提示"无法连接到远程服务器"的错误,不管是Windows Mobile6.0 还是6.5都是一样,按照网上的办法,改注册表 ...
- ASP.NET不通过添加web引用的方式调用web service接口
尊重原著作:本文转载自http://bbs.csdn.net/topics/360223969 创建方法 //动态调用web服务 public static object InvokeWebSer(s ...
- Axis2 java调用.net webservice接口的问题(郑州就维)
这是一个古老的问题,古老到从我若干年前遇到这样的问题就是一个解决之道:反复尝试.其实标准是什么,标准就是一个束缚,一种按既定规则的束缚,错点点,你的调用就可能不成功,不成功后你要花费大量的力气查找原因 ...
- Android程序使用SOAP调用远程WebService服务
在现在的应用程序中.不可能不使用到网络,而且后台一定是有server作为支撑的. 现在最常见的调用方式有HTTP的GET .POST方式,返回JSON或者XML数据. 可是也有一种常见的形式就是调用W ...
- 大叔也说Xamarin~Android篇~调用远程API接口,发POST请求
回到目录 Xamarin我们在上节已经教大家如何去部署它的环境了,今天来说一个实际的例子,使用android客户调用.net web api的一个接口,并发送POST请求,当服务端回到请求后做出响应, ...
随机推荐
- 修改文件时mmap如何处理
拷贝二进制(elf)文件 在拷贝二进制文件的时候,如果文件是一个可执行文件,并且有一个进程在运行这个可执行文件,那么拷贝的时候会出现"文本忙"(ETXTBSY)的错误提示,并且拷贝 ...
- Flink Application Development DataStream API Event Time--Flink应用开发DataStream API事件时间
目录 概览 事件时间 接下来去哪儿 水印生成 水印策略简介 使用水印策略 处理空闲源 写水印生成代码 写周期WatermarkGenerator代码 写符号形式的WatermarkGenerator代 ...
- fiddler 调试
如果本地代理js发现跨域,需要手动修改自定义规则 1 static function OnBeforeResponse(oSession: Session) { 2 if (m_Hide304s &a ...
- vue3.0使用富文本编辑器VueQuill
1. npm install @vueup/vue-quill@alpha --save 2. 在main.js中全局引入 import { QuillEditor } from '@vueup/vu ...
- 在centons7系统部署一套单master的k8s集群
架构图: 操作系统:CentOS Linux release 7.7.1908 (Core) docker:docker-ce-20.10.14-3.el7.x86_64 kubernetes: 1. ...
- oracle查看归档信息
1.查看归档信息 show parameter recovery_file_dest #查看归档目录 show parameter recovery_file_dest_size #查看归档可以存储的 ...
- 寻找进程ID
- 几款Android 应用自动化测试工具
本文转自:https://blog.csdn.net/hebbely/article/details/78901466 简述: 本文介绍几款流行的 Android应用自动化测试工具. Monkey测试 ...
- golang 解决 socket: too many open files, 以及 too many open files
同事写的一段代,码业务场景:需要多次GET请求一个三方服务的http 接口,获取数据后写入文件.发现有部分文件没有写入.查看日志出现了报错"socket: too many open fil ...
- host头攻击
一.问题源起 HTTP1.1规范中在增加了HOST头信息,用于存储服务端与客户端的路由信息. 例如: Request的Header里就有一个标名请求,它是用来记录服务端网站域名的. 如果前端或者后台正 ...