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... 阅读详情

相关推荐

关于esp32蓝牙模块的使用——esp32学习笔记

关于esp32蓝牙模块的使用——esp32学习笔记 零、前言 esp32自带蓝牙模块可以让我们进行蓝牙连接并进行数据交换 一、经典蓝牙BT 首先来编写代码,经典蓝牙的使用非常简单,首先声明使用了BluetoothSerial这个库,然后使用SerialBT.begin函数设置蓝牙的名字,再然后就是设置配对码,由于这里没有用到配对码,所以我将注释掉。当配对成功我们就使用printf函数打印出蓝牙配对成功。 #include <Arduino.h> #include <BluetoothSer

qq_53965184的博客 5万+

axis1.4的个人资料备份。

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

key_key的专栏 921

Arduino程序设计(八)LCD显示实验

本文主要介绍温度/温湿度传感器的LCD显示实验,分别是:1、LM35采集环境温度LCD显示;2、DS18B20采集环境温度LCD显示;3、DHT11采集环境温湿度LCD显示。(1)LM35介绍LM35特性特性说明基本功能LM35作为常用的温度传感器,可以检测周围的温度工作原理利用感温材料,通过内部电路将温度值转化为对应的电压信号工作电压4~30V,常用5V供电温度测量测量范围0~100℃ ,误差 ±0.5℃输出信号线性模拟信号输出,LM35输出电压和摄氏温度程线性关系。

Alice的博客 6711

通向架构师的道路(第十天)之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

【excel+vba】一表拆多表+不同收件人附带不同附件

快捷处理:拆分多个不同表 给不同人发送不同内容且附带附件

weixin_42779327的博客 2968

【CMU-自主导航与规划】Autonomous Exploration Development Environment 实战:从环境搭建到多场景测试

本文详细介绍了CMU开源自主导航开发环境(Autonomous Exploration Development Environment)的实战部署与测试。内容涵盖从Ubuntu与ROS环境搭建、仿真场景配置,到核心导航模块(地形分析、局部避障、航点跟踪)的深度解析,并演示了如何集成TARE探索与FAR规划等上层算法,最终指导连接真实SLAM与实车部署,完成多场景性能评估。

weixin_29215391的博客 706

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

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

zhangbeizhen18的博客 2324

数字IC后端先进工艺设计实现之TSMC 12nm 6Track工艺数字IC后端实现重点难点盘点

如果你仅仅是跑个先进工艺的flow,不懂先进工艺在数字IC后端实现上的不同点,为何有这样的不同点,针对这些不同之处后端实现阶段如何考虑它们,那么你等于0经验!大家可以针对本文所列的要点进行复盘,如果这些都搞透彻了,你就可以大胆把T12 nm的A72和A55项目写到你的简历中。T12这个工艺也是支持Preferred和Non-prefered两个方向来完成routing的,但是它对它们的最小线宽和最小线间距提出了更严格的要求。所有各个子模块的形状,彼此之间的间距都是有严格的要求。为何要有P48这一层?

weixin_37584728的博客 8341

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

遥感影像建筑物变化检测

遥感影像建筑物变化检测

yilvyangguang520的博客 423

Python入门实战:Python生物信息学编程基础

本文旨在为生物学背景的研究人员和对生物信息学感兴趣的程序员提供一个全面的Python生物信息学编程入门指南。我们将从Python基础知识开始,逐步深入到生物信息学特定的工具和技术,最终达到能够独立开发生物信息学分析程序的水平。Python编程基础生物信息学常用数据结构和算法DNA和蛋白质序列分析基因组数据处理生物信息学数据可视化Biopython库的使用实际项目案例背景介绍:概述文章目的、范围和预期读者核心概念与联系:介绍Python和生物信息学的基本概念。

AI架构师小马 1514

Axis2实现webservice实例

Axis2实现webservice实例

一曲破东风的专栏 698

YOLOv11改进,YOLOv11添加DCNv4可变性卷积(windows系统成功编译),二次创新C3k2结构,全网最详细教程

引入了可变形卷积 v4 (DCNv4),这是一种为广泛视觉应用设计的高效且有效的操作算子。DCNv4通过两项关键增强解决了其前身DCNv3的局限性:1. 移除空间聚合中的softmax归一化,以增强其动态特性和表达能力;2. 优化内存访问以最小化冗余操作,从而加速计算。这些改进使得DCNv4相比DCNv3显著加快了收敛速度,并且处理速度大幅提升,前向传播速度超过三倍。DCNv4在多个任务中表现出色,包括图像分类、实例和语义分割,特别是在图像生成方面表现突出。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2666

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

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

liangquan的专栏 2612

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

二、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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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、付费专栏及课程。

余额充值