axis2 客户端调用服务器端

Axis2开发webservice详解 是 Apache 提供的一款第三方 WebServices 引擎,与其前身 ApacheAxis 相比, axis2 更加高效、模块化,也更面向于 XML 的组织。经过精心的设计, axis2 提供了更加便利的模块添加功能。基于新的体系结构进行了全新编写,而且没... 阅读详情
//方法一:
package com.abin.lir.axis2.client;
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;
public class UserClient {
public static void main(String[] args) {
try { 
ServiceClient sc = new ServiceClient(); 
Options opts = new Options(); 
opts.setTo(new EndpointReference("http://localhost:9090/universal/services/play")); 
opts.setAction("urn:echo"); 
opts.setTimeOutInMilliSeconds(10000);
sc.setOptions(opts); 
OMElement res = sc.sendReceive(createPayLoad()); 
System.out.println(res); 
} catch (AxisFault e) { 
e.printStackTrace(); 
} 
}
public static OMElement createPayLoad(){ 
OMFactory fac = OMAbstractFactory.getOMFactory(); 
OMNamespace omNs = fac.createOMNamespace("http://localhost:9090/universal/services/play", "nsl"); 
OMElement method = fac.createOMElement("getPassengerInfos",omNs); 
OMElement value = fac.createOMElement("userID",omNs); 
value.setText("1024"); 
method.addChild(value); 
return method; 
} 
}





//方法二
package com.abin.lir.axis2.client;
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;
public class RPCClient {
public static void main(String[] args) throws AxisFault {
 // 使用RPC方式调用WebService         
        RPCServiceClient serviceClient = new RPCServiceClient(); 
        Options options = serviceClient.getOptions(); 
        // 指定调用WebService的URL 
        EndpointReference targetEPR = new EndpointReference( 
                "http://localhost:9090/universal/services/play"); 
        options.setTo(targetEPR); 
        // 指定方法的参数值 
        Object[] requestParam = new Object[] {"1024"}; 
        // 指定方法返回值的数据类型的Class对象 
        Class[] responseParam = new Class[] {String.class}; 
        // 指定要调用的getGreeting方法及WSDL文件的命名空间 
        QName requestMethod = new QName("http://localhost:9090/universal/services/play", "getPassengerInfos"); 
        // 调用方法并输出该方法的返回值 
        try {
System.out.println(serviceClient.invokeBlocking(requestMethod, requestParam, responseParam)[0]);
} catch (AxisFault e) {
e.printStackTrace();
} 
}
}




//方法三
package com.abin.lir.axis2.client;
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.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class AXIOMClient {
private static EndpointReference targetEPR = new EndpointReference(
"http://localhost:9090/universal/services/play");
public static OMElement getPassengerInfos(String symbol) {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://localhost:9090/universal/services/play",
"tns");
OMElement method = fac.createOMElement("getPassengerInfos", omNs);
OMElement value = fac.createOMElement("userID", omNs);
value.addChild(fac.createOMText(value, symbol));
method.addChild(value);
return method;
}
public static void main(String[] args) {
try {
OMElement getPassenger = getPassengerInfos("1024");
Options options = new Options();
options.setTo(targetEPR);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(getPassenger);
String response = result.getFirstElement().getText();
System.err.println("Current passengers: " + response);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Axis2框架实现webService 一、webservice服务器端的开发 建好一个maven项目,如 1、添加axis2依赖,xmlbeans在我这2.6.0版本时用不了的,所以我用了3.0.2版本         <axis2.version>1.7.6</axis2.version>         <xmlbeans.version>2.6.0</xmlbeans.vers... 阅读详情

相关推荐

Oracle-OGG trail 文件大小引起的进程异常 OGG-01172

监控OGG目标端进程,其中一个进程异常,状态为 ABENDED,start repa 执行失败。进入OGG报告目录检查运行报告 2015-04-20 09:38:36 ERROR OGG-01172 Discard file (/ogg/oggrm/11.2/dirdat/repa.dsc) exceeded max bytes (2000000000). 总结处理方法,从根本上解决问题。

xdyzgjy的专栏 7957

axis1.4的个人资料备份。

Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebServic

key_key的专栏 921

1 FFmpeg从入门到精通-FFmpeg简介

1.FFmpeg简介 1.1 FFmpeg的定义 1.2 FFmpeg的历史 1.3 FFmpeg的基本组成 1.4 FFmpeg的编解码工具ffmpeg 1.5 FFmpeg的播放器ffplay 1.6 FFmpeg的多媒体分析器ffprobe 1.7 FFmpeg编译(1)FFmpeg之Windows平台编译(2)FFmpeg之Linux平台编译(3)FFmpeg之OS X平台编译 1.8 FFmpeg编码支持与定制(1)FFmpeg的编码器支持(2)FFmpe

migu123的专栏 3696

通向架构师的道路(第十天)之Axis2 Web Service(一)

一、Axis2简介 1.1 介绍Axis2 Axis框架来自 Apache 开放源代码组织,它是基于JAVA语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP withAttachments 规范(来自 Apache Group )的开放源代码实现。有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomb...

iteye_6378的博客 308

别再傻傻分不清了!用Design Compiler和PrimeTime实操对比PBA与GBA模式

本文深度解析静态时序分析(STA)中Design Compiler与PrimeTime工具的PBA与GBA模式差异,通过实际案例演示两种模式在转换时间计算、时钟路径分析等方面的对比,并提供工程实践中模式选择的策略与调试技巧,帮助工程师在芯片设计流程中平衡精度与效率。

weixin_42552315的博客 415

薄膜电容寿命预测全解析:从理论到实践,5步搞定可靠性评估

本文全面解析薄膜电容寿命预测的理论与实践,提供五步可靠性评估流程,涵盖温度应力、电压应力等关键因素分析,并分享提升寿命的实用技巧。特别适用于新能源、电动汽车等领域的设计工程师,帮助准确预测薄膜电容在实际工况下的使用寿命。

weixin_33712987的博客 433

使用Apache CXF和Apache Axis2实现Web Services客户端

记录:314 场景:在Spring Boot微应用上,使用Apache CXF框架实现Web Services客户端,调用Web Services服务端;使用Apache Axis2框架实现Web Services客户端,调用Web Services服务端。

zhangbeizhen18的博客 2324

告别sgmediation!Stata中介效应分析新选择:mediation包完整操作指南

本文介绍了Stata中介效应分析从传统sgmediation命令向mediation包的范式升级。重点阐述了如何使用medeff和medsens命令进行更严谨的因果推断,并执行关键的敏感性分析,以评估结果对未观测混杂的稳健性,为学术研究提供发表级的分析工具。

redis7keeper的博客 1160

WSClient客户端调用---apache.axis2

package com.sinoservices.edi.ws; import javax.xml.namespace.QName; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import or

每天进步一点点 2465

深入解析时钟同步技术:相位同步、频率同步与同源时钟的实战应用

本文深入解析时钟同步技术的三种核心方式:相位同步、频率同步与同源时钟,详细阐述其技术原理、实现方案及实战应用。通过对比分析不同同步方式的特点与适用场景,为电子系统设计提供选型指南,帮助工程师优化时钟网络设计,提升系统稳定性和性能。

weixin_29240711的博客 450

OpenCV实例(八)车牌字符识别技术(三)汉字识别

相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面:(1)字符笔画因切分误差导致非笔画或笔画流失。(2)汽车牌照被污染导致字符上出现污垢。(3)采集所得车辆图像分辨率低导致多笔画的汉字较难分辨。(4)车辆图像采集时所受光照影响的差异导致笔画较淡。综合汉字识别时的这些难点来看,很难被直接提取的是字符的局部特征。笔画作为最重要的特征而仅存在于汉字中,这由先验知识可知。一旦捺、横、竖、撇这些笔画特征被提取到,对于汉字字符识别的工作就完成了许多。

小幽余生不加糖 1650

Axis2实现webservice实例

Axis2实现webservice实例

一曲破东风的专栏 698

从后端角度浅谈抗辐射设计----三模冗余(TMR)

三模冗余设计(TMR),是最常用的一种容错技术,三个模块采取相同的操作,以多数相同的输出作为表决系统的正确输出,即3取2,因为三个模块是相互独立的,而其中两个模块同时出错的概率是极小的,因此便可保证系统输出的可信度。然而这个设计也会存在面积浪费,功耗的增加,而且由于是冗余的设计,在后续进行综合或者pr的时候会被工具优化,因此需要对模块进行don’t touch设置;通过增值表得到,逻辑关系表达式为:Q=(Q1&Q2)|(Q1&Q3)|(Q2&Q3),通过工艺库的stdcell进行搭建,得到如下电路。

芯冰乐 328

axis2c 做的客户端程序接收基于Axis2 java的Webservice服务返回的超长字符串

问题描述:   axis2c写的客户端程序与java开发的Webservice服务器端程序进行交互时,若WebService服务端的接口返回一个超长字符串,在服务器端使用String作为返回类型。当客户端请求该服务时,该服务会在服务端运行且运行得到结果是正确的,但在客户端接收的该字符串为null. 为什么请求可以被执行且结果是正确的,但该字符串无法正确的返回到客户端。 解决方法: 

liangquan的专栏 2612

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

spring集成axis2-1.5.6实现webservice服务器端及客户端

1、下载axis2-1.5.6,相关的文件我已经上传,可以到我的资源里去下载 2、新建一个WebProject 以下是myeclipse WebProject的文件目录   3、添加jar包,简单起见将axis2-1.5.6-bin中lib下的jar全部导入,同时导入spring.jar 4、编写接口类IFileManagerDao   package com.alpha.dao

crystal_86的专栏 2751

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

二、Axis2的简单WebService示例

1、编写一个简单的WebService的服务器端代码,代码如下: import java.util.Random; /** * function: WebService HelloWorld服务示例 * @author hoojo * @createDate 2011-1-5 下午03:35:06 * @file HelloWorldService.java * @package com.hoo.service * @project Axis2WebService

hoojo 2281

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WebService之Axis2系列教程(一)Axis2的下载、安装和使用

Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中,用于 SOA各个部分交换数据。本课程重点讲解了Axis2的核心功能,并提供了三个项目以使大家理解并掌握如何将Axis

观千剑而后识器,操千曲而后晓声。 5万+

axis2实现webservice

–webservice服务器端的开发 axis2与ssh2集成 1.1 添加axis2依赖 1.2 创建WebService服务 IAccountService AccountServiceImpl 1.3 创建applicationContext-ws.xml文件 <bean id="accountService"......> 1.4 在自己WEB项目的WEB-INF...

qq_43330631的博客 286

axis2 jax-ws_Axis2中的JAXB和JAX-WS

关于本系列 Web服务是Java技术在企业计算中的重要角色。 在本系列文章中 ,XML和Web服务顾问Dennis Sosnoski涵盖了对使用Web服务的Java开发人员很重要的主要框架和技术。 跟随该系列文章以了解该领域的最新进展,并了解如何使用它们来帮助您的编程项目。 原始的Apache Axis基于Web服务的第一个Java标准JAX-RPC。 事实证明这不是一个好方法,因...

cusi77914的博客 587

Axis2框架实现WebService

一、webservice服务器端的开发 建好一个maven项目,如 1、添加axis2依赖,xmlbeans在我这2.6.0版本时用不了的,所以我用了3.0.2版本         &lt;axis2.version&gt;1.7.6&lt;/axis2.version&gt;         &lt;xmlbeans.version&gt;2.6.0&lt;/xmlbea...

oydl_1234的博客 314

Android环境下Ksoap连接Axis2

1 开发环境 OS :  win732bit Axis2 :  1.6.2 Ksoap :  2.0 Android: 4.0.3     2 基于Axis2的服务器端开发 2.1文件下载 首先需要下载 axis2 的相关jar 包,到 axis 的官方网站即可获得开发的依赖包。 下载地址: http://axis.apache.org/axis2/java/core/down

white_smile的专栏 1203

WebService开发实例(Axis2实现,无需安装,快速实现)

曾经做过的项目里涉及Android客户端向服务器发送请求,服务器访问数据库获得数据并返回给Android客户端。当时Android客户端与服务器的通信已经实现,我只负责客户端布局和数据呈现的部分,近日有遇到类似项目,所以计划完整的研究和实现一下整个通信过程。 目前选择的方案是服务器端开启Webservice,Android客户端通过第三方的ksoap jar包访问,对象传递采用Jaso...

171

AXIS2 webSerive

使用eclipse内置的插件创建AXIS2 webSerive服务器端与客户端代码

菜菜 490

Axis2搭建WebService服务

二、使用Axis2搭建WebService服务: 第一步:在web.xml配置文件中添加映射路径: <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServ...

Gblfy_Blog 1645
上一篇: 设计模式总结--很不错
下一篇: 基于Axis2开发WebService代码详解
Ice008
博客等级 码龄19年 34粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值