`

axis发布ws的两种方式

阅读更多

AXIS发布webservices的两种方式:即时发布、定制发布

【准备工作】

 下载axis,获取所需的jar包并导入工程,下载地址:http://mirrors.hust.edu.cn/apache/axis/axis/java/1.4/

 

 1. JWS (Java Web Service) Files - Instant Deployment

      web.xml中添加如下配置:

<servlet>
	<servlet-name>AxisServlet</servlet-name>
	<servlet-class>
		org.apache.axis.transport.http.AxisServlet
	</servlet-class>
</servlet>
	
<servlet-mapping>
	<servlet-name>AxisServlet</servlet-name>
	<url-pattern>*.jws</url-pattern>
</servlet-mapping>

 

  将编写好的业务类复制到应用的根目录,并将源文件后缀改为jws即可,无需重启容器。

  例如:要发布一个获取服务器当前时间的webservice接口,新建SimpleService.java

import java.util.Date;

public class SimpleService {
	public String getTime() {
		return "hello~ " + new Date();
	}
}

 

  编写完成后将SimpleService.java改为SimpleService.jws,并放在应用的根目录,即发布成功,效果如下:

   
  
  

查看WSDL如果提示AXIS error java.lang.RuntimeException: No compiler found in your classpath!(you may need to add 'tools.jar'),需要将tools.jar添加到工程lib目录;
浏览器调用getTime接口,http://localhost:8080/test/SimpleService.jws?method=getTime,效果如下:

 

 

注:JWS的Web服务是用于简单的Web服务,在服务类中不能使用包(package),另外因为代码在运行时才被编译,所以你无法了解的错误直到部署之后,如果想提供优质的web服务,应该使用Java类定制部署。

 

 2. Custom Deployment - Introducing WSDD

 服务类编写如下:

package gang.chen;
public class MyService {
	public void hello(String name)
	{
		System.out.println("Hello " + name);
	}
}

 

 web.xml中添加如下配置:

<servlet-mapping>
	<servlet-name>AxisServlet</servlet-name>
	<url-pattern>/services/*</url-pattern>
</servlet-mapping>

 

在与web.xml同目录下新建server-config.wsdd文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  

<globalConfiguration>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
</globalConfiguration>

  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
  <service name="MyService" provider="java:RPC">   
     <parameter name="className" value="csg.MyService"/>
     <parameter name="scope" value="request"/>
     <parameter name="allowedMethods" value="*"/>
     <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
  </service>   
  <transport name="http">   
     <requestFlow>   
        <handler type="URLMapper"/>   
     </requestFlow>   
  </transport>   
</deployment>

  启动容器,发布成功效果如下:



 
 

 

  • 大小: 36.6 KB
  • 大小: 6 KB
  • 大小: 5.4 KB
分享到:
评论

相关推荐

    Axis1,Axis2,Xfire,CXF区别

    Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种新一代的 WebService 平台,它...

    Axis_API和axis2_API

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Axis和Axis2是两种流行的Java SOAP(简单对象访问协议)框架,用于构建和消费Web服务。本文将深入探讨这两个API,以及它们在Web服务开发中的作用。 ...

    用axis1.4发布自己的wsdl服务详解

    通过这两种方式,用户可以更加灵活地根据实际需求来选择适合的服务发布策略。 #### 二、即时部署(Instant Deployment) **步骤详解:** 1. **准备Java源代码** 首先,你需要编写一个简单的Java类,比如下面这...

    cxf与axis2区别

    CXF支持WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile等webservices标准,Axis2支持WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本中得到支持。 CXF的标准支持...

    axis2-ws:axis2 Web服务,jax-ws Web服务

    本主题主要关注两种Java实现Web服务的技术:Axis2和JAX-WS。 【Axis2】 Axis2是Apache软件基金会开发的一个强大的Web服务框架,它基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言)。Axis2提供了完整的Web...

    cxf客户端调用axis服务端流程

    在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架,主要用于SOAP服务。本文将深入探讨如何使用CXF客户端调用Axis...

    axis1.4生成客户端

    - WSDL2Java和Java2WSDL工具:这两个工具是Axis1.4的核心部分,它们帮助开发者在WSDL和Java代码之间转换。 - JAX-WS(Java API for XML Web Services):这是Java平台标准,用于创建和处理Web服务,它是Axis2的...

    WebServiceDemo-Axis1

    WebServiceDemo-Axis1 是一个基于Axis1框架的Web服务示例,它包含了三个关键项目,分别用于演示Web服务的不同发布方式。在这个压缩包中,你可以找到以下内容: 1. **服务端项目**: - `testWSServerByAxis1-jws`:...

    Axis2例子Demo

    2. **服务部署**:Axis2支持两种部署方式——存档部署和热部署。存档部署通过将服务打包为`.aar`文件进行部署,而热部署允许直接通过类路径加载服务。 3. **模块**:模块是Axis2中的可插拔组件,可以添加额外的功能...

    axis1.3 axis1.4jar包

    在描述中提到的"java webservice开发",Web服务是一种通过互联网交换业务逻辑的方式。使用Axis,开发者可以将Java类暴露为Web服务,或者调用远程Web服务。Axis1.3和1.4之间的主要区别在于修复的错误、改进的性能和...

    axis开发web服务的两种典型方法示例和比较分析

    在本文中,我们将探讨使用Apache Axis开发Web服务的两种典型方法:Dynamic Invocation Interface (DII) 和 Stubs方式,并对它们进行详细的说明和比较。 一、Axis安装与配置 Apache Axis是一个开源的Java Web服务...

    axis2 axis webservice web 服务

    5. **MTOM/XOP**:Axis2支持Message Transmission Optimization Mechanism (MTOM) 和XOP (XML-binary Optimized Packaging),这两种技术可以优化处理大型二进制数据,显著提高传输效率。 6. **WSDL支持**:Web服务...

    axis2源码下载~

    开发者可以通过两种方式在Axis2上创建服务:Service Skeleton和服务Archive。Service Skeleton是通过WSDL自动生成的Java接口,而服务Archive则是打包服务的所有依赖项到一个单一的文件中。 7. **扩展机制**: ...

    Axis2 1.5.5jar包

    3. **服务组件模型**:Axis2支持两种服务组件模型——Service Archetypes和Service Groups。前者用于定义单个服务,后者则允许将多个服务组织成组。 4. **高级传输机制**:Axis2不仅支持HTTP/S作为传输协议,还提供...

    axis2-bin-And-axis2-war.zip

    标题中的"axis2-bin-And-axis2-war.zip"指的是Apache Axis2的一个软件包,它包含了两种不同的部署形式:bin和war。Apache Axis2是著名的Web服务框架,用于创建和部署Web服务。这个压缩包可能提供了Axis2的不同版本,...

    axis1.3官网web应用

    Axis1.3是Apache软件基金会开发的...虽然现在可能倾向于学习更现代的Web服务框架,如Spring-WS或Apache CXF,但是熟悉Axis1.3的基础知识可以帮助我们更好地理解Web服务的发展历程,以及它们是如何演变到今天的形态的。

Global site tag (gtag.js) - Google Analytics