Java WebService Axis 初探
最近在学习WebService
开始了:
一:服务端的编写与发布
1. 工具准备: java的开发环境(这里就不多说了)。
axis2官网上下载最新的就可以了(我这里用的是axis2-1.4.1-war)把文件解压,然后把axis2.war文件放到apache-tomcat-7.0.26\webapps目录下。并启动 tomcat,启动完成后可以在webapps目录中看到axis2这个目录;并在浏览器中输入:http://localhost:8080/axis2/ 地址后显示如下页面说明成功了
axis2-1.6.2-bin.zip(解压)。写客户端要用。
axis2-eclipse-codegen-plugin-1.6.2(生成客户端代码工具):解压文件把jar包放到eclipse3.7.2\plugins目录。
axis2-eclipse-service-plugin-1.6.2(服务端代码打包工具):同上
2. 建一个 java Project工程并建一个类命名为WebService
public class WebService {
public String Hello(String str) {
return str + " Hello ";
}
}
然后生成aar服务文件:菜单栏File - >Axis2 Wizards ->Axis2 Service Archiver如图
NEXT
NEXT
NEXT
例如webservice需要连接数据的话那么就需要把连接数据库的jar包添加进去,先browse->add即可;有次打aar包的时候没有加上jar包,client死活调不成功。就是这个原因
NEXT
自动创建此webService的xml文件 NEXT
next
Finish成功后到桌面上去找找是不是有Serverce.aar文件; 可以解压出来看看,有新的发现哦!
3. WebService服务发布:把生成好的Serverce.aar文件放到apache-tomcat-7.0.26\webapps\axis2\WEB-INF\services目录下然后重新启动Tomcat。再在浏览器中输入http://localhost:8080/axis2/ 地址然后点击页面中的Services链接。后如图
此Hello就是刚生成的服务名了,再点Service连接,记住此URLhttp://localhost:8080/axis2/services/Service?wsdl 写客户端的时候要用的。
此刻WebService服务的编写和发布已经完成了。
二:客户端的编写
1. 建一个java Project工程命名为WebServiceClient
2. 添加Jar包;把axis2-1.6.2-bin.zip解压的lib目录下的所有jar包都添加到此工程下去
3. 生成客户端服务引用File ->New->Axis2 Code Genertor如下图
NEXT
NEXT
NEXT-->NEXT
Finish。 成功后刷新一下客户锻的工程,然后建一个测试类。命名为Test
import java.rmi.RemoteException;
import org.apache.ws.axis2.Hello;
import org.apache.ws.axis2.HelloResponse;
import org.apache.ws.axis2.Service;
import org.apache.ws.axis2.ServiceStub; public class Test { /**
* @param args
* @throws RemoteException
*/
public static void main(String[] args) throws RemoteException {
// TODO Auto-generated method stub
Service server = new ServiceStub();
Hello hello = new Hello();
//new一个调用sayHello方法需要的参数SayHello,并且设置name
hello.setStr("Siuon");
//调用web服务
HelloResponse sayHelloResponse = server.hello(hello);
//拿到返回结果
System.out.println(sayHelloResponse.get_return());
} }
运行后如下图则成功了。
Java WebService Axis 初探的更多相关文章
- java webservice AXIS
1. eclipse axis 插件下载地址 http://archive.apache.org/dist/ws/axis2/tools/1_4_1/ 一个是代码生成插件 axis2-ecli ...
- (转)Java通过axis调用WebService
转自:http://blog.csdn.net/wanglha/article/details/49679825 转载地址:http://www.linuxidc.com/Linux/2015-06/ ...
- Java WebService学习笔记 - Axis进阶(二)
上一篇 Java WebService学习笔记 - Axis(一) 前一篇博文中简单介绍了Axis的使用方法,这篇将介绍一些Axis的一些高级特性 Axis中Handler的使用 Handler ...
- Java WebService学习笔记 - Axis(一)
WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...
- Java WebService 知识点汇总
java webservice 获取传入IP axis.jar servlet.jar MessageContext mMsgContext = MessageContext.getCurren ...
- Java Lambda表达式初探
Java Lambda表达式初探 前言 本文受启发于Trisha Gee在JavaOne 2016的主题演讲Refactoring to Java 8. Java 8已经发行两年多,但很多人仍然在使用 ...
- Java WebService 开发简单实例
Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以 ...
- paip.myeclipse7 java webservice 最佳实践o228
paip.myeclipse7 java webservice 最佳实践o228 java的ws实现方案:jax-ws>>xfire ws的测试工具 webservice测试调用工具W ...
- MAXIMO系统 java webservice 中PDA移动应用系统开发
MAXIMO系统 java webservice 中PDA移动应用系统开发 平时经常用的wince PDA手持设备调用c#写的webservice, 当然PDA也可以调用java webservic ...
随机推荐
- ActiveMQ反序列化漏洞(CVE-2015-5254)复现
0x00 漏洞前言 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等.Apache ...
- 【django基础之ORM,增删改查】
一.定义 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候, ...
- Android系统权限和root权限
Android系统权限和root权限http://www.verydemo.com/demo_c189_i277.html
- bzoj 4451 : [Cerc2015]Frightful Formula FFT
4451: [Cerc2015]Frightful Formula Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 177 Solved: 57[Sub ...
- 详细BP神经网络预测算法及实现过程实例
1.具体应用实例.根据表2,预测序号15的跳高成绩. 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() 助跑摸高() 助跑4—6步跳高() 负重深蹲杠铃() ...
- An internal error occurred during: "Initializing Java Tooling". Eclipse启动发生的错误及解决办法
1.关闭Eclipse.有时候不关闭eclipse 删除东西会引起其他莫名的错误. 2.删除 当前工作目录文件夹下的 /.metadata/.plugins/org.eclipse.core.reso ...
- python基础之面向对象01
什么是面向对象? 所谓面向对象就是将那些具有共同特质的事物组成一个类(Class),在类中为这些特质定义一个个方法(函数). 具体一点,比如说英雄联盟.在英雄联盟中我们可以把所有的英雄划分为一个英雄类 ...
- Window10+Python3.5安装opencv
Window10+Python3.5安装opencv 标签: opencvpython 2017-05-14 16:47 2201人阅读 评论(0) 收藏 举报 分类: Python编程(41) ...
- CSS3 box-sizing:border-box的好处
无论如何改动border,margin与padding的值,都不会导致box总尺寸发生变化.
- Elasticsearch相关概念了解
mysql ⇒数据库databases ⇒表tables ⇒ 行rows ⇒ 列columns es ⇒索引indices ⇒ 类型types ...