在网上找了很多例子,发觉很多都是脱离项目,单独使用axis2包发布webservice接口
实际开发中,一般都是跟随项目启动之后,自动发布接口
接下来简单讲解一下 在项目中集成发布axis2 webservice接口
1.打开axis2.war包,将conf,lib,modules三个文件夹复制到项目的WEB-INF文件夹下
2.新建一个services文件夹,然后在services文件下新建一个文件夹(任意取名),再新建META-INF文件夹,最后再新增services.xml,接口信息就写在这里面。
具体路径:WEB-INF/services/myservice/META-INF/services.xml
3.开发java类
- package Axis2Service.service;
- /**
- * desc:计算俩个数和值的 webservice接口
- *
- * @version SVN $Revision: 1.1 $ $Date: 2011/07/12 02:06:49 $
- */
- public class Calculate {
- public Integer sum(Integer num1, Integer num2) {
- return num1 + num2;
- }
- }
4.现在编写services.xml文件
- <service name="AxisService">
- <description>AxisService</description>
- <parameter name="ServiceClass">
- Axis2Service.service.Calculate
- </parameter>
- <operation name="sum">
- <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
- </operation>
- </service>
5.修改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.发布项目,然后在地址栏上输入http://localhost:8080/MyAxis/services/AxisService?wsdl,就能看到发布的项目了哦!!
已上传附件(去除所有jar包),相关axis2的jar包从axis2.war中获得,复制到项目的lib下即可
警告:services文件夹和services.xml文件 名字必须为services
多个服务 service.xml 的配置内容:
<serviceGroup>
<service name="AxisService">
<description>AxisService</description>
<parameter name="ServiceClass">
Axis2Service.service.Calculate
</parameter>
<operation name="sum">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
<service name="AxisService2">
<description>AxisService</description>
<parameter name="ServiceClass">
Axis2Service.service.Cc
</parameter>
<operation name="ss">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
</serviceGroup>
附调用方式代码:
package Axis2Service.service;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
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.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class Cc {
public String ss(String s){
System.out.println(s);
return s;
}
private static RPCServiceClient serviceClient;
/**
* RPC调用AXIS2 webservice
* @param endpoint 服务地址 如:http://192.168.0.1:2597/aixs2/services/jqservice?wsdl
* @param localPart 方法名 如<xs:element name="Receive">
* @param opArgs 方法参数 如Object[] opArgs = new Object[] { param };
* @param namespaceURI 命名空间 如 :targetNamespace="http://server.test.com.cn">
* @param opReturnType 返回类型 如字符串:Class[] opReturnType = new Class[] { String[].class };
*/
public static String axis2RPCInvoke(String endpoint,String localPart,Object[] opArgs,String namespaceURI,Class[] opReturnType)
{
Object[] ret = null;
try
{
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(endpoint);
options.setTo(targetEPR);
QName opQName = new QName(namespaceURI, localPart);
ret = serviceClient.invokeBlocking(opQName, opArgs, opReturnType);
System.out.println(((String[]) ret[0])[0]);
}
catch (AxisFault e)
{
e.printStackTrace();
}
return ((String[]) ret[0])[0];
}
public static void main(String[] args){
String s=axis2RPCInvoke("http://localhost:8080/wt/services/AxisService2?wsdl", "ss", new Object[] {"122"}, "http://service.Axis2Service", new Class[] { String[].class });
System.out.println(s);
}
}
相关推荐
1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...
4. **部署和发布服务**:如果我们要在Spring中发布一个Web服务,可以使用Axis2的`SpringServiceDeployer`。这需要将服务类和相关的配置文件打包成一个Axis2模块(.aar文件),然后部署到Axis2服务器上。 5. **测试...
spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码
【Eclipse + Axis2 发布 WebService】是一个关于在Eclipse集成开发环境中使用Apache Axis2框架创建并发布Web服务的教程。Apache Axis2是用于构建Web服务和Web服务客户端的高性能、灵活且可扩展的开源框架。以下是...
【描述】:本文将详细介绍如何在项目中集成Axis2和SSH框架,以构建支持事务的WebService。通过本教程,你将了解到如何按照传统的SSH方式编写代码,如何利用Axis2发布WebService,以及如何在一个项目中配置多个...
### Axis2实现WebService知识...通过以上步骤,可以实现一个完整的基于Axis2的WebService应用,包括服务端的发布和客户端的调用。这为开发者提供了一个清晰的指南,帮助他们更好地理解和使用Axis2进行WebService开发。
在集成Axis2和Spring时,通常会使用Spring的ApplicationContext来加载Axis2配置,并将服务组件作为Spring Bean管理。这样,我们可以在Web服务的生命周期中利用Spring的依赖注入(DI)和面向切面编程(AOP)特性。...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而Axis2是Apache软件基金会开发的一个流行的Java Web服务框架。Spring框架则是Java企业级应用的事实标准,提供了强大的依赖注入、AOP(面向切面编程)等...
标题“Java-tomcat-axis2开发webservice返回json数据”涉及的是使用Java、Tomcat服务器以及Axis2框架来创建Web服务,并返回JSON格式的数据。这是一个常见的技术组合,用于构建RESTful API或者提供服务化接口。下面...
通过以上步骤和最佳实践,开发者可以有效地利用Axis2和Spring框架整合发布多个WebService,同时借助Maven进行项目管理,提高开发效率和代码质量。这为构建复杂、可扩展的企业级Web服务解决方案提供了坚实的基础。
1. **XML配置方式**:在Axis2中,你可以通过编写一个服务描述文件(如services.xml)来定义服务。这个文件包含了服务的接口、实现类以及其他相关信息。一旦服务描述文件准备就绪,可以通过 Axis2的命令行工具或者API...
2. **添加Axis依赖**:在`pom.xml`文件中,我们需要添加Axis的相关依赖。这包括`axis`, `axis-saaj`, 和 `axis-wsdl4j`等。 3. **创建Web服务接口**:定义一个Java接口,这个接口代表我们的Web服务。接口中定义了将...
在本文中,我们将深入探讨如何使用Spring、Axis2和Maven构建一个基于Java的Web服务(WebService)服务端示例。这些技术的结合为开发人员提供了高效、灵活且可扩展的解决方案来创建和消费Web服务。 首先,让我们了解...
本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这是一个强大的Java开发平台,支持多种开发任务,包括Web服务的开发和调试。 2. ...
标题中的“axis发布webservice的步骤”涉及到的是在Java环境中使用Apache Axis库创建并部署Web服务的过程。Apache Axis是开源的Web服务工具包,它允许开发者通过简单的API将Java类暴露为Web服务,或者调用远程Web...
标题 "Axis2 开发 WebService" 指的是使用 Apache Axis2 框架在 Eclipse 集成开发环境中创建和部署 WebService 的过程。Apache Axis2 是一个强大的 WebService 引擎,它提供了高性能、灵活且可扩展的架构,支持多种...
将"axis2Libs"压缩包中的所有文件导入到项目的类路径中,确保运行时能找到所需的库。 2. **创建Stub**:调用WebService接口通常需要通过Stub(代理类)进行,这可以通过Axis2的wsdl2java工具生成。该工具会根据...
【描述】:“利用Axis2实现WebService开发与部署-3中方法进行开发” 【标签】:“WebService” 本文将详细讲解如何使用Apache Axis2框架来开发和部署Web Services。Apache Axis2是Java环境中一个功能强大的Web ...
标题中的“在自己的项目中利用axis2+spring发布webservice与客户端调用包括session”指出的是一个关于在实际项目开发中如何使用Axis2和Spring框架来发布Web服务,并且涉及了Web服务客户端调用以及会话(session)...