- 浏览: 1714661 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (288)
- java (59)
- javaweb (15)
- eclipse (16)
- uml (1)
- java ee (7)
- windows (5)
- html (4)
- 数据结构和算法 (6)
- oracle (84)
- struts (3)
- ajax (3)
- hibernate (3)
- spring (12)
- ExtJS (14)
- 随笔 (2)
- JavaScript (9)
- PL SQL (12)
- tomcat (2)
- Plugins (5)
- office (2)
- webService (4)
- others (9)
- htc (1)
- 自定义标签的行为 (1)
- powerDesigner (3)
- webSphere (5)
- linux (6)
- dom4j (1)
- xml (5)
- json (2)
- bat (4)
- spring MVC (5)
- MySQL (12)
- junit (4)
- maven (10)
- jquery (1)
- mongoDB (16)
- git (0)
- mybatis (5)
- svn (3)
- activemq (3)
- quartz_job (1)
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
利用powerDesigner逆向导出oracle表为PDM并把PDM转为CDM -
sanshao:
roompig 写道beancopier只实现了浅拷贝的功能, ...
使用Cglib的BeanCopier实现Bean的拷贝 -
贝塔ZQ:
Java实现导入导出excel文件,利用poi实现感觉代码比较 ...
利用java导入导出excel到oracle数据库 -
suxj16:
部署之后启动有问题org.springframework.be ...
spring mvc文件上传实现进度条(转) -
suxj16:
谢谢分享。部署之后启动有问题org.springframewo ...
spring mvc文件上传实现进度条(转)
一.使用axis2构建WebService服务器(POJO方式)。
1.下载所需的包:axis2的二进制包和axis2.war包。
下载地址:http://axis.apache.org/axis2/java/core/download.cgi#a1_5_2
2.将下载的axis2.war放到tomcat的webapps目录下,启动tomcat,此时webapps目录会自动解压出axis2目录,如下图:
此时在浏览器地址栏中输入: http://localhost:8080/axis2 ,如果一切正常会看到如下页面:
3.编写服务器端代码:
启动Eclipse,选择File---New---Project,找开新建向导,如下图:
4.选择Java Project,点击Next,打开新建项目窗口,为新建项目命名,这里命名为4thWebService,点击Finish完成项目的创建。
5.编写服务器端代码:
选择File---New---Class,新建的类必须是不含任何包名的类,命名为:MyWebService,如下图所示:
6.点击Finish完成创建,并编写该类的代码如下:
public class MyWebService { public String helloWebService(String name){ System.out.println("client args = "+name) ; return name + " , this is webService . " ; } }
7.将编译后的MyWebService.class文件放置到tomcat的webapps/axis2/WEB-INF/pojo(如果没有pojo文件夹,那么需要手动创建该文件夹)目录下。
8.在浏览器的地址栏中输入:http://localhost:8080/axis2/services/MyWebService?wsdl
如果创建成功,你会看到如下页面:
使用POJO方式搭建WebService的优缺点:
优点:简单
缺点:服务器端Java类不能含有包名。
二.使用axis2构建WebService客户端.
1.需要把下载的二进制包解压,并把该文件夹下lib中所有的jar包都拷贝到自己的项目中(因为我也不知道具体哪个jar包有用,,所以保险起见,全导入,呵呵).
2. 编写客户端Java类代码如下:
package com.ysj; 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 TestAxis2 { /** * @param args */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub new TestAxis2().test(); } public void test() throws Exception { // 服务器端WebService的WSDL连接串 String serviceUrl = "http://172.16.225.170:8080/axis2/services/MyWebService?wsdl" ; RPCServiceClient serviceClient = null; String resultString = ""; serviceClient = getServiceClient(serviceUrl); // 服务器端开放的方法名 String wsFunction = "helloWebService"; System.out.println(wsFunction); // 要传给服务器开放方法的参数. String jsonString = "你好" ; resultString = login(serviceUrl,serviceClient, jsonString, wsFunction); System.out.println("resultString=" + resultString); } public RPCServiceClient getServiceClient(String wsdlUrl) { RPCServiceClient serviceClient = null; try { serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference(wsdlUrl); options.setTo(targetEPR); } catch (AxisFault e) { e.printStackTrace(); } return serviceClient; } public String login(String serviceUrl,RPCServiceClient serviceClient, String jsonString, String wsFunction) throws AxisFault { // 在创建QName对象时,QName类的构造方法的第一个参数表示WSDL文件的命名空间名,也就是<wsdl:definitions>元素的targetNamespace属性值 QName opLogin = new QName("http://ws.apache.org/axis2", wsFunction); // 参数,如果有多个,继续往后面增加即可,不用指定参数的名称 Object[] inputArgs = new Object[] { }; if(jsonString!=null&&!"".equals(jsonString)){ inputArgs = new Object[] { jsonString }; } /* 返回参数类型,这个和axis1有点区别 invokeBlocking方法有三个参数,其中第一个参数的类型是QName对象,表示要调用的方法名; 第二个参数表示要调用的WebService方法的参数值,参数类型为Object[]; 第三个参数表示WebService方法的返回值类型的Class对象,参数类型为Class[]。 当方法没有参数时,invokeBlocking方法的第二个参数值不能是null,而要使用new Object[]{} 如果被调用的WebService方法没有返回值,应使用RPCServiceClient类的invokeRobust方法, 该方法只有两个参数,它们的含义与invokeBlocking方法的前两个参数的含义相同 */ Class[] returnTypes = new Class[] { String.class }; Object[] response = serviceClient.invokeBlocking(opLogin, inputArgs, returnTypes); String result = (String) response[0]; // display results if (result == null) { System.out.println("result is null!"); } else { System.out.println(wsFunction+" : " + result); } return result; } }
输出结果为:
helloWebService
helloWebService : 你好 , this is webService .
resultString=你好 , this is webService .
评论
<!-- axis2 -->
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-aar-maven-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb-codegen</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-ant-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-clustering</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-codegen</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-integration</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-java2wsdl</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-java2wsdl-maven-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxbri</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxws</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxws-integration</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jibx</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-json</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-mar-maven-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-metadata</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-mtompolicy</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-repo-maven-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-resource-bundle</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-saaj</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-soapmonitor-servlet</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-spring</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-xmlbeans</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>org.apache.axis2.osgi</artifactId>
<version>1.6.3</version>
</dependency>
<!-- axis2 -->
不好,我的package暴露了自己的身份,呵呵.
发表评论
-
Java List 生成 树(增强版)
2017-03-20 18:29 4515Java List 生成 树:http://ysj51 ... -
在CentOS中安装与配置JDK8
2017-01-14 21:20 902环境准备 系统环境:centos6.5 安装方式:r ... -
Java List 生成 树(转)
2016-03-15 15:47 8683文章出自:http://www.cnblogs.com ... -
使用Cglib的BeanCopier实现Bean的拷贝
2015-12-01 16:49 28775选择Cglib的BeanCopier进行B ... -
解决Java计算浮点数精度问题(BigDecimal)
2015-11-09 17:52 3066工具类如下: package com.yusj.we ... -
JAVA根据IP地址获取详细的地域信息(转)
2015-07-16 14:45 25594文章出自:http://hejianke83.blog ... -
Java获取客户端的真实IP地址(转)
2015-07-15 16:10 3861文章出自:http://newleague.iteye ... -
XML 和 java对象相互转换(转)
2015-07-14 16:43 3957文章出自:http://hbiao68.iteye.c ... -
Java + MongoDB 实现 hello world 例子(译)
2015-04-22 12:18 3910原文出自:http://www.mkyong.com ... -
Java MongoDB 教程(译)
2015-03-16 15:25 1834原文出自:http://www.mkyong.com ... -
使用eclipse创建多模块maven web项目
2015-02-11 17:43 6309前提:eclipse已经安装maven插件。 ... -
过滤有效查询条件的好方法
2014-11-13 17:25 1552在工作中经常遇到明细查询,前段有很多查询条件,但是不 ... -
Java web过滤器验证登录(避免未经登录进入主页)
2014-11-03 13:36 4581要想实现此功能,分以下两步: 1.配置web.xm ... -
解决servlet-api包冲突问题(maven)
2014-08-20 10:12 47043问题描述:本人的项目是用Maven管理,而且用到了s ... -
eclipse在线安装findbugs插件方法
2014-08-15 10:07 2275第一种方法: 菜单:Help -> Eclip ... -
eclipse构建maven的web项目(转)
2014-07-30 12:05 1009文章出自:http://blog.csdn.net/s ... -
在web.xml下配置error-page
2014-07-18 15:20 1836解决问题:捕获页面错误并反到指定页面处理。 在 ... -
eclipse实现OpenExplore
2014-06-05 17:05 1564首先下载附件OpenExplorer_1.5.0.v2 ... -
StringUtils中isEmpty 和isBlank的区别(转)
2014-05-27 16:17 11341文章出自:http://www.2cto.com/kf ... -
JDK动态代理实现原理(转)_AOP简介
2014-04-25 16:28 6344文章出自: http://rejoy.it ...
相关推荐
当利用axis2组建javawebservice时,客户端调用webservice必须引用到的jar文件
利用AXIS,通过wsdl的url直接调用webservice接口时所需要的jar包,经测试可直接使用
利用axis2开发的webservice,所需jar包在我的资源中找(libs.rar)。我已经止传了,这是一个示例源码。大家下载后在eclipse中直接导入到工程就可以了,编码用gbk吧,本项目可以部署在纯java工程项目中,可以不用web...
包括Axis开发Webservice所需要的四个开发包:axis-bin-1_4.zip、jaf-1_1-fr.zip、javamail-1_4.zip、xml-security-bin-1_3_0.zip;另有开发环境的搭建和入门实例学习。
利用axis一步一步开发webservice,内含详细截图以及整个项目代码。
二、利用axis2发布服务 2.1 用java建一个简单的工程sayHi,在里面编写一个简单的服务类sayHi,里面有一个函数sayHello. package Hi; publicclass sayHi { public String sayHello(String user,String weather) { ...
里面包含用到的axis的jar包 和一个java文件,下载后,将文件放在工程下,添加jar包即可运行,用的开源的webservice服务,里面重要代码都做了注释。
java采用axis调用.net写的WebService,WebService的参数有传人和传出,传出的参数为ref,java端ParameterMode.OUT,传人的为ParameterMode.IN,WebService返回值为String,java利用Map取传出参数,对Map进行遍历取得...
最近接触到一个银行接口的案子,临时需要用到axis2 webservice。自己现学现总结的一些东西,留给新手。少走弯路。 Axis2简介 ①采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供...
利用AXIS开发Webservice(一) —— 如何发布自己的webservice 先介绍下本人开发环境吧。 JDK 1.4.2 + Myeclipse 6.0(实在经不起诱惑,尝尝鲜) + Tomcat 5.0.28 + AXIS 1.4。 AXIS 1.4包可以在...
利用Java编写简单的WebService实例 Axis2与Eclipse整合开发Web Service
各种利用webservice技术代码样例,用axis框架。
执行java源码 Axis <=1.4 远程命令执行(RCE) POC 环境准备 首先下载Axis1.4 本仓库有一个打包好的axis直接解压到tomcat webapps下即可 ,web-inf/web.xml 去掉AdminServlet注释 然后,server-config.wsdd文件...
利用axis jar包 根据wsdl文件生成java webservice 工具 (附带生成后调用方法和详细说明) 及其适合工作着与初学者调试和学习,已经通过测试完全可用
学习教程实例+源代码 利用Java编写简单的WebService实例,其中带有源代码及lib包。
利用Myeclipse+axis2+mysql实现的一个简单的webservice,这是一个简单的图书管理程序,有添加图书,删除图书和查询图书,还有简单的管理权限控制,是最为基础的一个webservice实例。
c# JSON返回格式的WEB SERVICE//...wsdl访问,然后利用axis生成类: java -classpath “.;commons-logging.jar;axis.jar;commons-discovery.jar;jaxrpc.jar;wsdl4j.jar;saaj.jar;jaxrpc.jar;mail.jar” org.apac
2、创建服务接口和实现.........................................................................................................7 3、xfire 服务配置..........................................................
activation.jar是一款java中项目中的利用axis部署WebService服务必须用的一个JAR包
activation.jar是一款java中项目中的利用axis部署WebService服务必须用的一个JAR包,直接导入项目即可实现部署WebService的功能,可以让程序猿们更节约时间。