`

axis与xfire开发

阅读更多

(1)使用axis开发webserivice
 1>首先到http://ws.apache.org/axis/上去下载最新的axis版本。最新版本是axis-1.4的。下载之后观察其目录,lib下就是所要用到的所有jar包了。这里少2个jar包,
 分别是activation.jar和mail.jar,需要单独下载。
 2>创建一个动态的web工程,修改下web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
		<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
			<display-name>
			websercice</display-name>
			
		<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>/servlet/AxisServlet</url-pattern>   
		  </servlet-mapping>   
		     
		  <servlet-mapping>   
		    <servlet-name>AxisServlet</servlet-name>   
		    <url-pattern>*.jws</url-pattern>   
		  </servlet-mapping>   
		     
		  <servlet-mapping>   
		    <servlet-name>AxisServlet</servlet-name>   
		    <url-pattern>/services/*</url-pattern>   
		  </servlet-mapping>   
		</web-app>  

 3>开发web服务
  *接口开发

                     package com.mypack;

		public interface Hello {
		    public String sayHello(String name);

		}

  *接口实现类开发

                     package com.mypack;

		public class HelloService implements Hello {

		    public String sayHello(String name) {
			return "hello " + name + " !";
		    }

		}

 4>发布web服务,配置wsdd文件server-config.wsdd,将该文件放置在WEB-INF目录下

<?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">   
		  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
		     
		  <service name="hello" provider="java:RPC">   
		    <parameter name="className" value="com.mypack.HelloService"/>   
		    <parameter name="allowedMethods" value="sayHello"/>   
		  </service>   
		     
		  <transport name="http">   
		    <requestFlow>   
			<handler type="URLMapper"/>   
		    </requestFlow>   
		  </transport>   
		</deployment> 

 5>解压axis-1.4,将lib下的jar文件及mail.jar,activation.jar一并放置在WEB-INF下的lib目录中
 6>在TOMCAT服务器中,在webapps目录下创建my_axis_webservice目录,将工程下的WEB-INF拷贝到该目录下
   或者直接通过myeclipse发布也可
 7>启动TOMCAT服务器,访问http://localhost:8080/my_axis_webservice/services,查看是否有hello这个服务
 8>开发客户端
   在web工程下的web服务中(注意需要把axis.jar在eclipse加入到环境变量中),新建:

import java.net.MalformedURLException;
		import java.net.URL;
		import java.rmi.RemoteException;

		import javax.xml.rpc.ServiceException;

		import org.apache.axis.client.Call;
		import org.apache.axis.client.Service;

		public class Test {

		    /**
		     * @param args
		     * @throws ServiceException
		     * @throws MalformedURLException
		     * @throws RemoteException
		     */
		    public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException {

			// 标识WebService的具体路径
			String endpoint = "http://localhost:8080/my_axis_webservice/services/hello";
			// 创建Service实例
			Service service = new Service();
			// 通过Service实例创建Call实例
			Call call = (Call) service.createCall();
			// 将WebService的服务路径加入到Call实例中,并为Call设置服务的位置
			URL url = new URL(endpoint);
			call.setTargetEndpointAddress(url);
			// 调用WebService方法
			call.setOperationName("sayHello");
			// 调用WebService传入参数
			String res = (String) call.invoke(new Object[] { "mofeichen" });
			System.out.println(res);

		    }

		}

 (2)使用xFires开发webserivice
 1>下载xfire-distribution-1.2.6.zip包
 2>创建一个动态的web(xfire_web)工程,修改下web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
		<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
			<display-name>
			xfire_web</display-name>
			<servlet>   
			<servlet-name>webservice</servlet-name>   
			<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>   
		    </servlet>   
		   
		    <servlet-mapping>   
			<servlet-name>webservice</servlet-name>   
			<url-pattern>/servlet/XFireServlet/*</url-pattern>   
		    </servlet-mapping>   
		    <servlet-mapping>   
			<servlet-name>webservice</servlet-name>   
			<url-pattern>/services/*</url-pattern>   
		</servlet-mapping>  
		</web-app>

 3>开发web服务
  *接口开发

                      package com.mypack;

	                 public interface Hello {
		    public String sayHello(String name);

		}

 *接口实现类开发

                     package com.mypack;

		public class HelloService implements Hello {

		    public String sayHello(String name) {
			return "hello " + name + " !";
		    }

		}

 4>发布web服务,配置wsdd文件services.xml(名称不能修改),将该文件放置在WEB-INF/classes/META-INF/xfire目录下

<beans  xmlns="http://xfire.codehaus.org/config/1.0">   
		 <service >   
		    <name>helloWorld</name>   
		    <namespace>http://localhost:8080/xfire_web/services/helloWorld</namespace>   
		    <serviceClass>com.mypack.Hello</serviceClass>   
		    <implementationClass>com.mypack.HelloService</implementationClass>   
		  </service>   
		</beans> 

 5>解压xfire-distribution-1.2.6.zip,将lib下的jar文件放置在WEB-INF下的lib目录中
 6>在TOMCAT服务器中,在webapps目录下创建xfire_web目录,将工程下的WEB-INF拷贝到该目录下
   或者直接通过myeclipse发布也可
   目录结构为(不要有变化,否则会找不到services.xml文件):
   --xfire_web
   |        |
   |        |
   |        ----WEB-INF
                      |
                      |
                      |---web.xml
                      |---lib
                      |---classes
                               |
                               |
                               |---放置.class的文件

                               |---META-INF
                                       |---xfire
                                              |
                                              |
                                               ---services.xml
 7>启动TOMCAT服务器,访问http://localhost:8080/xfire_web/services,查看是否有helloWorld这个服务
 8>开发客户端
   新建java工程,然后使用eclipse工具在工程上根据该服务的wsdl(即http://localhost:8080/xfire_web/services/helloWorld?wsdl)创建webservice client

import java.rmi.RemoteException;

		import javax.xml.rpc.ServiceException;

		import localhost.my_axis_webservice.services.helloWorld.HelloWorldLocator;
		import localhost.my_axis_webservice.services.helloWorld.HelloWorldPortType;

		public class Test {

		    /**
		     * @param args
		     * @throws ServiceException
		     * @throws RemoteException
		     */
		    public static void main(String[] args) throws ServiceException, RemoteException {
			
			HelloWorldLocator hello = new HelloWorldLocator();
			HelloWorldPortType p = hello.gethelloWorldHttpPort();
			String res = p.sayHello("saaaaaaaa");
			System.out.println(res);

		    }

		}

 也可以通过编写build.xml来生成客户端:

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

<project name="facet" basedir="." default="create_code">

	<property name="optimize" value="false" />
	<property name="debug" value="on" />
	<property name="desprecation" value="false" />

	<property name="build.lib" value="${basedir}/lib">
	</property>
	<property name="source" value="${basedir}/src">
	</property>
	<property name="build.classes" value="${basedir}/build">
	</property>

	<path id="classpath">
		<pathelement location="${build.classes}" />
		<fileset dir="${build.lib}">
			<include name="*.jar" />
		</fileset>
	</path>

	<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="classpath">
	</taskdef>

	<target name="help" description="显示帮助信息">
		<echo message="target     描述">
		</echo>
		<echo message="-------------">
		</echo>
		<echo message="compile     编译">
		</echo>
		<echo message="create_code     生成代码">
		</echo>
	</target>

	<target name="compile" description="编译">
		<echo>编译程序代码</echo>
		<javac classpathref="classpath" destdir="${build.classes}" srcdir="${source}" debug="${debug}" optimize="${optimize}" deprecation="${desprecation}">
		</javac>
	</target>
	
	<target name="create_code" depends="compile" description="创建代码">
		<echo>创建代码</echo>
		<wsgen outputDirectory="${source}" wsdl="http://localhost:9999/xfire_web/services/helloWorld?wsdl" package="com.googlepages.smallnest.facet" overwrite="true"/>
	</target>


</project>

 

分享到:
评论

相关推荐

    axis和xfire配置webService的源代码

    总之,熟悉和掌握Axis与XFire这两种框架对于Java开发者来说非常重要,它们为构建高质量的Web服务提供了强大工具,同时也有助于提高开发效率和项目互操作性。通过实际操作和实践,开发者能够更好地理解和运用这些技术...

    WebService Axis和XFire(CXF)的开发流程

    XFire支持直接配置生成WSDL,且能与Spring无缝集成,简化了开发流程,但可能不如Axis那样灵活。 - **服务端开发**:使用XFire时,开发者可以通过MyEclipse等IDE创建Web Service Project,IDE会自动生成必要的配置...

    axis以及xfire所需要的Jar包

    在Java开发中,有时我们需要处理Web服务,而Axis和XFire是两个著名的Java Web服务框架。这两个工具都允许开发者创建、部署和消费Web服务,但它们各有特点和用途。 **Axis**是由Apache软件基金会开发的一个开源项目...

    axis,xfire测试案列+开发文档API+axis1.jar.rar

    标题 "axis,xfire测试案列+开发文档API+axis1.jar.rar" 涉及的是两个关键的Java Web服务框架:Axis1和XFire。这两个框架主要用于构建和消费SOAP(简单对象访问协议)Web服务。以下是关于这些技术的详细说明: **...

    Axis1,Axis2,Xfire,CXF区别

    与 Axis1 相比,XFire 的性能有了质的提高,XFire 比 Axis1.3 快 2-6 倍,XFire 的响应时间是 Axis1.3 的 1/2 到 1/5。XFire 的灵活性更高,Binding 机制更加灵活。 Axis2 是另一种新一代的 WebService 平台,它的...

    Axis+ Xfire 电子书

    结合这两个技术,"Axis Xfire webservice 开发有关电子书" 可能涵盖了如何使用 Axis 来与 Xfire 的 Web 服务接口进行交互,例如创建一个应用程序来显示好友的游戏状态,或者创建一个游戏内聊天客户端。开发者可能会...

    Web_Service开发指南(axis+xfire+cxf).pdf

    这份文档由ProdigyWit和Along两位作者共同编写,自2008年首次作为《AXIS开发指南》发布以来,经过多次修订与扩充,最终于2009年加入了整合篇,形成了包含Axis、XFire和CXF使用的全面指南。 ### Web Service概述 ...

    web_ service_基于axis和xfire.rar

    在本压缩包"web_service_基于axis和xfire.rar"中,重点是介绍了如何使用Axis和XFire这两个Java框架来开发和实现Web服务。 Axis是Apache软件基金会开发的一款开源工具,主要用于简化SOAP(简单对象访问协议)和WSDL...

    webservice(axis,xfire,cxf)

    本压缩包文件提供了关于Web服务开发的详细指南,特别关注了三个主流的Java Web Service框架:Axis、XFire和CXF。 1. **Axis**:是由Apache软件基金会开发的开源SOAP(Simple Object Access Protocol)引擎,它是...

    Web Services发布与调用(axis,xfire)

    总结,Axis和XFire都为Java开发者提供了方便的Web Service开发工具,它们各有特点,适用于不同的场景。理解并掌握这两种工具的使用,能够帮助你更好地实现跨平台的数据交换和系统集成。在实际工作中,应根据项目需求...

    Web+Services发布与调用(axis,xfire).doc

    《Web服务发布与调用——Axis与XFire详解》 Web服务是互联网上应用程序之间进行交互的一种标准方式,它允许不同系统之间的数据交换,跨越不同的操作系统、编程语言和网络架构。在本文中,我们将深入探讨两种流行的...

    spring+axis2_xfire整合的webservice

    在此,我们将深入探讨Axis2和XFire这两个框架的特点以及它们与Spring的整合。 1. **Axis2框架**: - Axis2是Apache软件基金会开发的下一代SOAP引擎,它是Axis1.x的升级版,但采用了全新的架构,旨在提高模块化、...

    java webservice AXIS,XFire , CXF

    在Java中,有多个流行的WebService框架,其中包括AXIS、XFire以及本文主要讨论的Apache CXF。 AXIS是早期广泛使用的Java WebService框架,它提供了一种简单的方式来创建和消费Web服务,支持SOAP和WSDL。然而,随着...

    搜集网上的资料总结的XFire,Axis2,CXF的对比

    XFire的特点是易于开发,与现有的Web应用融合良好,但仅限于Java环境,对非Java语言的支持不足。随着Apache的收购以及Java 6 JWS的崛起,XFire逐渐失去了市场,现在已经停止更新。 性能对比方面,根据提供的资料,...

    WebService详细解析(axis,xfire,cxf,授权认证加密解密)

    - 自动WSDL生成,与Java注解结合,方便开发。 - 支持多种传输协议和数据绑定。 - 集成了Spring框架,易于集成到现有应用。 3. XFire使用步骤 - 实现服务接口和类,使用注解标注服务信息。 - 创建services.xml...

    axis.jar是xfire开发webservice客户端的axis模式的资源包

    axis.jar是xfire开发webservice客户端的axis模式的资源包

    axis+xFire+cfx全方位介绍webservice

    总的来说,了解和掌握Axis2、xFire和CXF对于Web服务开发至关重要。它们是构建和利用Web服务的关键工具,可以帮助开发者在分布式系统中实现无缝的数据交换和协同工作。无论你是初学者还是经验丰富的开发者,理解这些...

    Axis and Xfire

    标题中的“Axis”和“Xfire”是两个与Web服务开发相关的开源框架,它们在Java平台上广泛用于构建和消费Web服务。这篇文档将详细介绍这两个工具及其在Web服务开发中的应用。 Axis是Apache软件基金会的一个项目,它是...

    Web+Services发布与调用(axis,xfire)[归纳].pdf

    XFire的调用方式与Axis类似,但可能使用不同的API。它也支持从WSDL生成客户端代码,然后通过生成的客户端类调用服务。 ### 附录:1Server的结构 1Server通常指的是一个Web服务模拟器或测试服务器,用于在开发和...

Global site tag (gtag.js) - Google Analytics