(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这两种框架对于Java开发者来说非常重要,它们为构建高质量的Web服务提供了强大工具,同时也有助于提高开发效率和项目互操作性。通过实际操作和实践,开发者能够更好地理解和运用这些技术...
XFire支持直接配置生成WSDL,且能与Spring无缝集成,简化了开发流程,但可能不如Axis那样灵活。 - **服务端开发**:使用XFire时,开发者可以通过MyEclipse等IDE创建Web Service Project,IDE会自动生成必要的配置...
在Java开发中,有时我们需要处理Web服务,而Axis和XFire是两个著名的Java Web服务框架。这两个工具都允许开发者创建、部署和消费Web服务,但它们各有特点和用途。 **Axis**是由Apache软件基金会开发的一个开源项目...
标题 "axis,xfire测试案列+开发文档API+axis1.jar.rar" 涉及的是两个关键的Java Web服务框架:Axis1和XFire。这两个框架主要用于构建和消费SOAP(简单对象访问协议)Web服务。以下是关于这些技术的详细说明: **...
与 Axis1 相比,XFire 的性能有了质的提高,XFire 比 Axis1.3 快 2-6 倍,XFire 的响应时间是 Axis1.3 的 1/2 到 1/5。XFire 的灵活性更高,Binding 机制更加灵活。 Axis2 是另一种新一代的 WebService 平台,它的...
结合这两个技术,"Axis Xfire webservice 开发有关电子书" 可能涵盖了如何使用 Axis 来与 Xfire 的 Web 服务接口进行交互,例如创建一个应用程序来显示好友的游戏状态,或者创建一个游戏内聊天客户端。开发者可能会...
这份文档由ProdigyWit和Along两位作者共同编写,自2008年首次作为《AXIS开发指南》发布以来,经过多次修订与扩充,最终于2009年加入了整合篇,形成了包含Axis、XFire和CXF使用的全面指南。 ### Web Service概述 ...
在本压缩包"web_service_基于axis和xfire.rar"中,重点是介绍了如何使用Axis和XFire这两个Java框架来开发和实现Web服务。 Axis是Apache软件基金会开发的一款开源工具,主要用于简化SOAP(简单对象访问协议)和WSDL...
本压缩包文件提供了关于Web服务开发的详细指南,特别关注了三个主流的Java Web Service框架:Axis、XFire和CXF。 1. **Axis**:是由Apache软件基金会开发的开源SOAP(Simple Object Access Protocol)引擎,它是...
总结,Axis和XFire都为Java开发者提供了方便的Web Service开发工具,它们各有特点,适用于不同的场景。理解并掌握这两种工具的使用,能够帮助你更好地实现跨平台的数据交换和系统集成。在实际工作中,应根据项目需求...
《Web服务发布与调用——Axis与XFire详解》 Web服务是互联网上应用程序之间进行交互的一种标准方式,它允许不同系统之间的数据交换,跨越不同的操作系统、编程语言和网络架构。在本文中,我们将深入探讨两种流行的...
在此,我们将深入探讨Axis2和XFire这两个框架的特点以及它们与Spring的整合。 1. **Axis2框架**: - Axis2是Apache软件基金会开发的下一代SOAP引擎,它是Axis1.x的升级版,但采用了全新的架构,旨在提高模块化、...
在Java中,有多个流行的WebService框架,其中包括AXIS、XFire以及本文主要讨论的Apache CXF。 AXIS是早期广泛使用的Java WebService框架,它提供了一种简单的方式来创建和消费Web服务,支持SOAP和WSDL。然而,随着...
XFire的特点是易于开发,与现有的Web应用融合良好,但仅限于Java环境,对非Java语言的支持不足。随着Apache的收购以及Java 6 JWS的崛起,XFire逐渐失去了市场,现在已经停止更新。 性能对比方面,根据提供的资料,...
- 自动WSDL生成,与Java注解结合,方便开发。 - 支持多种传输协议和数据绑定。 - 集成了Spring框架,易于集成到现有应用。 3. XFire使用步骤 - 实现服务接口和类,使用注解标注服务信息。 - 创建services.xml...
axis.jar是xfire开发webservice客户端的axis模式的资源包
总的来说,了解和掌握Axis2、xFire和CXF对于Web服务开发至关重要。它们是构建和利用Web服务的关键工具,可以帮助开发者在分布式系统中实现无缝的数据交换和协同工作。无论你是初学者还是经验丰富的开发者,理解这些...
标题中的“Axis”和“Xfire”是两个与Web服务开发相关的开源框架,它们在Java平台上广泛用于构建和消费Web服务。这篇文档将详细介绍这两个工具及其在Web服务开发中的应用。 Axis是Apache软件基金会的一个项目,它是...
XFire的调用方式与Axis类似,但可能使用不同的API。它也支持从WSDL生成客户端代码,然后通过生成的客户端类调用服务。 ### 附录:1Server的结构 1Server通常指的是一个Web服务模拟器或测试服务器,用于在开发和...