- 浏览: 592395 次
- 性别:
- 来自: 福建
文章分类
最新评论
-
18335864773:
用 pageoffice 吧. http://www.zhuo ...
使用Jacob输出word文档 -
dick1305:
很好,谢谢分享。
XFire创建WebService实例 -
wd530141534:
<c:if test="${ReleaseRe ...
Axis2创建WebService实例 -
wd530141534:
if(result != null && re ...
Axis2创建WebService实例 -
wd530141534:
String printerIp = req.getRemot ...
Axis2创建WebService实例
XFire创建WebService实例应用
XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,
XFire的配置非常简单,可以非常容易地和Spring集成。
下载地址:http://xfire.codehaus.org/Download。
一. 使用XFire发布WebService
1. 创建service接口
package com.test.service; import com.test.service.bean.User; public interface IHelloService { public String sayHello(String name); public User getUser(User user); } }
2.创建Service接口的实现类
package com.test.service; import com.test.service.bean.User; public class HelloService implements IHelloService{ public String sayHello(String name){ return "Hello, "+name; } public User getUser(User user) { User userNew = new User(); userNew.setId("new:"+user.getId()); userNew.setName("new:"+user.getName()); return userNew; } }
package com.test.service.bean; public class User { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
3.在web.xml文件中进行XFire拦截配置,可参照官网提供的sample。
<?xml version="1.0" encoding="UTF-8"?> <web-app 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"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
4.在class目录下建立META-INF目录,如(META-INF>xifre->services.xml),
在services.xml文件中进行webservice服务的发布,可参照官网提供的sample。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>HelloService</name> <serviceClass>com.test.service.IHelloService</serviceClass> <implementationClass>com.test.service.HelloService</implementationClass> </service> </beans>
5.将xfire的Jar包和相关依赖包拷到系统应用中,在Tomcat下部署应用。
启动tomcat后访问服务(需在应用后加上/services,webservice才会进行拦截):
例:http://localhost:8080/ws2/services。(IE下有时无法显示列表,可用其它浏览器显示或指定接口名称)
界面如下:
点击后查看详细的wsdl文档,不同的浏览器下访问会有区别,展示效果不一致。
二.建立XFire客户端进行调用
1.本地客户端调用,与webservice服务在同一应用。
package com.test.client; import java.net.MalformedURLException; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; import com.test.service.IHelloService; import com.test.service.bean.User; public class ClientTest { public static void main(String args[]) throws MalformedURLException { Service service = new ObjectServiceFactory().create(IHelloService.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory .newInstance().getXFire()); String url = "http://localhost:8080/ws2/services/HelloService"; IHelloService helloService = (IHelloService) factory.create(service,url); System.out.println(helloService.sayHello("张三")); User user = new User(); user.setName("张三"); System.out.println(helloService.getUser(user).getName()); } }
执行结果如下:
Hello, 张三 new:张三
2. 利用XFire创建build.xml文件生成客户端代码调用webservice服务
2.1在src目录下创建build.properties文件,配置如下:
src.dir=${basedir} lib.dir=D:/myspace/ws2/WebRoot/WEB-INF/lib wsdl.dir=http\://localhost\:8080/ws2/services/HelloService?wsdl
2.2在src目录下创建build.xml文件,配置如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="WebService" basedir="." default="gen-webservice"> <property file="build.properties"></property> <path id="project-classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <target name="gen-webservice"> <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath" /> <wsgen outputDirectory="${src.dir}" wsdl="${wsdl.dir}" package="stub.test.client" overwrite="true"/> </target> </project>
用ant构建生成代码,生成后的目录如下:
2.3编写客户端代码进行调用
package com.test.client; import stub.test.client.HelloServiceClient; import stub.test.client.HelloServicePortType; import com.test.service.bean.ObjectFactory; import com.test.service.bean.User; public class HelloServiceTest { public static void main(String args[]){ HelloServiceClient service = new HelloServiceClient(); HelloServicePortType portType = service.getHelloServiceHttpPort(); System.out.println(portType.sayHello("张三")); ObjectFactory factory = new ObjectFactory(); User user = factory.createUser(); user.setName(factory.createUserName("张三")); System.out.println(portType.getUser(user).getName().getValue()); } }
执行结果如下:
Hello, 张三 new:张三
评论
网上看了这么多,还是这篇通俗易懂,入门很好!没有错误!
附:pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.xfire.examples</groupId>
<artifactId>xfire-book</artifactId>
<packaging>war</packaging>
<name>Book Example</name>
<version>1.2.6</version>
<inceptionYear>2004</inceptionYear>
<dependencies>
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-spring</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>${basedir}/src/webapp</warSourceDirectory>
</configuration>
</plugin>
</plugins>
<sourceDirectory>src/main</sourceDirectory>
<testSourceDirectory>src/test</testSourceDirectory>
<resources>
<resource>
<directory>src/main</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.wsdl</include>
</includes>
</testResource>
</testResources>
</build>
<!-- needed for XmlSchema -->
<repositories>
<repository>
<id>codehaus</id>
<name>Codehaus maven repository</name>
<url>http://dist.codehaus.org/</url>
<layout>legacy</layout>
</repository>
</repositories>
</project>
发表评论
-
JAVA多线程事例参考(二)
2013-05-10 16:15 1201一、JAVA多线程之Lock import j ... -
JAVA多线程事例参考(一)
2013-05-10 16:07 1407一. Java多线程安全问题,模拟银行存款 /** * ... -
JAVA之 IO流
2013-01-16 13:57 1606一、IO流流就是字节序列的抽象概念,能被连续读取数据的数 ... -
CXF创建WebService实例
2013-01-07 20:33 18128一、概述1、ApacheCXF项目是由ObjectWeb Ce ... -
JAVA编程指南
2012-12-27 22:57 1148一、设计方法论 1、 ... -
JAVA基础
2012-12-27 22:43 1344一、JAVA基础 1.类的构建过程是从基类“向外”扩散 ... -
Java类加载器入门应用
2012-03-08 22:40 24271、类加载器负责加载 Ja ... -
Java语言高级应用
2012-03-08 22:11 4315一、 Java反射1.Java反射 ... -
CAS单点登录应用
2012-02-15 17:33 2032一. 基础知识点1.CAS Se ... -
Freemarker模板应用
2012-01-11 17:13 43846FreeMarker是一个模板引擎,一个基于模板生成文 ... -
Velocity模板应用
2011-12-14 19:25 18097Velocity是一个基于java的模板引擎(模板引擎的作用就 ... -
Axis2创建WebService实例
2011-03-26 14:34 193388一、Axis2的下载和安装 1.可从http: ... -
Maven使用小结
2011-01-08 21:52 11909(1)创建一个maven项目 mvn archetype ... -
Tomcat部署Web应用
2010-12-16 22:28 14931.利用Tomcat自动部署 将myWeb应用目录拷贝 ... -
Tomcat数据源配置
2010-12-16 21:32 1320一、 Tomcat5.0.X数据源配置,修改${tomca ...
相关推荐
【JAVAEE利用XFIRE创建WEBSERVICE实例】 Java EE(Java Platform, Enterprise Edition)是用于构建企业级Web应用的标准框架,而Web服务是Java EE中一个重要的组成部分,它允许应用程序通过网络进行通信。Xfire是一...
本实例将深入探讨如何利用XFire来实现Web服务。 一、XFire简介 XFire是Apache CXF项目的前身,它提供了一个轻量级、高性能的框架,用于创建和调用Web服务。XFire通过简化编程模型和强大的注解支持,使得开发者能够...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
xfire简单实例发布webservice,引用到2个jar包的简单例子
通过这个实例,开发者可以学习到如何使用XFire框架创建、配置和部署Web服务,以及如何在Eclipse或MyEclipse环境中管理项目。同时,对于Web服务的基本概念,如SOAP消息和部署描述符的使用,也是一个很好的实践机会。
用java通过xfire框架实现ws,实现正向生成wsdl文件,并由wsdl逆向生成java ws客户端代码 测试输入:http://localhost:8080/webservice-xfire/services/CalculatorService?wsdl
XFire 建立 Webservice 实例 XFire 是一个基于 Java 的开源 Web 服务框架,它提供了一个简单、灵活和高效的方式来创建和消费 Web 服务。在本篇文章中,我们将详细介绍如何使用 XFire 建立一个 Webservice 实例,并...
1. 创建Server:使用XFire的ServerFactoryBean创建服务器实例。 ```java ServerFactoryBean serverFactory = new ServerFactoryBean(); serverFactory.setServiceClass(HelloWorld.class); serverFactory....
【XFire建立Webservice实例详解】 XFire是一个早期流行的Java Web Service框架,它允许开发者轻松地创建和消费Web服务。本文将详细介绍如何使用XFire在MyEclipse环境中创建和部署一个简单的Web服务。 一、创建Web...
通过以上步骤,不仅可以创建一个基于XFire的WebService服务器,还能构建相应的客户端来验证其功能。这不仅有助于理解SOAP WebService的工作原理,还能实际操作并掌握如何使用MyEclipse与XFire框架来构建完整的...
XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...
接下来,你需要实现这个接口并创建一个服务实例。XFire会自动处理服务的发布和绑定到HTTP端点。 **3. 配置XFire** XFire可以通过XML配置文件或者编程方式来配置。配置文件通常包含服务的位置、端口设置、拦截器等...
在这个实例中,`MyEclipse下XFire开发Webservice实例.doc`文件应该包含了详细的步骤说明和源码示例,帮助读者更好地理解和实践这个过程。通过阅读文档和动手操作,开发者可以快速掌握XFire的使用技巧,从而在实际...
《Xfire Webservice实例详解与应用》 Xfire是一款强大的Java Web服务框架,它简化了创建、部署和消费Web服务的过程。在这个实例中,我们将会深入探讨如何利用Xfire快速构建一个可运行的Web服务,并了解其核心概念和...
2. 输入项目名称如“WebServiceServer”,在“Framework”选项中选择“XFire”,其余选项保持默认。 3. 点击“Next”,保留默认设置。 4. 在“Project Library”中选择XFire 1.2的核心库。 5. 点击“Finish”,你会...
总结来说,"Spring+Hibernate+Struts+XFire的WebService实例"提供了一个完整的Java Web服务解决方案,涵盖了从数据持久化到用户界面,再到Web服务的整个开发流程。这个实例对于学习和理解企业级Java应用的开发具有很...
本文详细介绍了利用xfire组件实现webservice的服务端和客户端实例,适合入门参考和使用!