java axis2 webservice 接口的开发搭建和demo

1、先创建一个web项目,名字叫testAxis2Demo

2、下载axit2 的war包,地址是:http://apache.fayea.com//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip

3、将下载axit2中war包下的WEB-INF/lib/ 下所有的jar包,copy下来,放在web项目下的lib目录中

4、在web.xml 中添加如下配置:

<servlet>

<servlet-name>AxisServlet</servlet-name>

<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

5、在WebContent/ 目录下,创建一个文件夹   axit2-web ,然后在该文件下创建一个名叫 listServices.jsp 的文件,

该jsp中的代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>

<%@

page

import="org.apache.axis2.Constants,

org.apache.axis2.description.AxisOperation,

org.apache.axis2.description.AxisService,

java.util.Collection,

java.util.HashMap,

java.util.Iterator"%><html>

<head>

<title>List Services</title>

<style>

h2 {

margin: 20 0 5 0;

}

ul {

margin-top: 5;

}

</style>

</head>

<body>

<h1>Available services</h1>

<%

HashMap serviceMap = (HashMap) request.getSession().getAttribute(Constants.SERVICE_MAP);

Collection servicecol = serviceMap.values();

if(servicecol.size()==0){%>Available services is Empty.<%}

for (Iterator iterator = servicecol.iterator(); iterator.hasNext();) {

AxisService axisService = (AxisService) iterator.next();

Iterator opItr = axisService.getOperations();

String serviceName = axisService.getName();

%>

<h2>

<font color="blue"><a href="<%=serviceName %>?wsdl"

target="_blank"><%=serviceName%></a></font>

</h2>

<i>Available Operations</i>

<ul>

<%

while (opItr.hasNext()) {

AxisOperation axisOperation = (AxisOperation) opItr.next();

%><li><%=axisOperation.getName().getLocalPart()%></li>

<%

}

%>

</ul>

<%

}

%>

</body>

</html>

6、这样环境的搭建基本成功:

可以访问一下地址:http://localhost:8080/testAxis2Demo/services/listServices

注意:testAxis2Demo 这个是你项目的路径

如果出现下面信息,就说明搭建成功了

Available services

Available services is Empty.

下面开始创建自己写接口demo吧:

6、在WEB-INF 的文件下创建:services/dome/META-INF/services.xml

目录是没有的,要自己创建

7、services.xml 中必须的如下配置:

<?xml version="1.0" encoding="UTF-8"?>

<serviceGroup>

<!-- 接口名 -->

<service name="testWebService">

<!-- 接口描述 -->

<description>测试接口</description>

<!-- 指定调用该接口会进行哪个类中去执行 -->

<parameter name="ServiceClass">com.webservice.control.TestWebservice</parameter>

<!-- 指定执行该类的哪个方法,并设置消息接收和返回的信息 -->

<parameter name="getMessege">

<!-- 设置消息交换模式:In-Out消息交换模式总是存在SOAP请求和应答 -->

<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />

</parameter>

</service>

</serviceGroup>

8、在src下创建处理接口请求的类,在包com.webservice.control/TestWebservice.java,

该java代码中如下:

package com.webservice.control;

public class TestWebservice {

public String getMessege(String params){

String info = null;

try{

info = "接口调入成功,传入的参数是:"+params;

}catch (Exception e){

e.printStackTrace();

}

return info;

}

}

9、此时,webservice的demo就成功创建好了,自己可以用地址:http://localhost:8080/testAxis2Demo/services/testWebService?wsdl

在soapUI中进行调用。

下面附上项目结构图:

10:以下是该项目的war包,可以直接运行:http://download.csdn.net/detail/u012149894/8404661

时间: 2024-11-05 20:00:46

java axis2 webservice 接口的开发搭建和demo的相关文章

java访问webservice接口(转)

java调用webservice接口 几种方法 webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,ut

java调用webservice接口方法

webservice的 发布一般都是运用WSDL(web service descriptive language)文件的款式来发布的,在WSDL文件里边,包含这个webservice暴露在外面可供运用的接口.今日查找到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包含许多方面的free webservice provider,utilities->global weather就

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

java调用webservice接口完整源码

对方提供的webservice是用c#写的,而我这个方案对于java或c#(亲测过)提供的webservice都可以使用.具体步骤如下: 1.新建一个普通的java项目,在项目上右键new–other–web service client –next如图,在框内输入webservice地址,例如:http://10.10.10.60:7000/srv_waipaiItem/ws/wp?wsdl(地址输入完后需要等待一两秒,next才可点击) 2.输入正确的webservice地址后,一路fini

Jaxb的有点与用法(bean转xml的插件,简化webservice接口的开发工作量)

一.jaxb是什么 JAXB是Java Architecture for XML Binding的缩写.可以将一个Java对象转变成为XML格式,反之亦然.     我们把对象与关系数据库之间的映射称为ORM,其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping).原来JAXB是Java EE的一部分,在JDK1.6中,SUN将其放到了Java SE中,这也是SUN的一贯做法.JDK1.6中自带的这个JAXB版本是2.0,比起1.0(JSR 31)来,JAXB2(J

webservice接口的开发和调用

一.开发webservice接口的方式 1.使用jdk开发 2.使用第三方工具,如cxf.shiro等 二.使用jdk开发webservice接口以及调用 首先定义一个天气预报的接口,Weather @WebService public interface Weather { String queryWeather(); } 定义一个实现类,实现该接口 @WebService public class WeatherImpl implements Weather{ public String q

java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport

网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1的,直接按网上说的wsimport -keep -p wsimport.test http://****:****/***.wsdl 报警报错,报警warning可以忽略,但错误error 难以解决,说具有相同名称 "xxx" 的类/接口已在使用.请使用类定制设置来解决此冲突.找了许多资料

java调用webservice接口 几种方法

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,utilities->global weather就

Java Axis2 webservice

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;