利用xfire编写webservice的例子,内容如下
1. xfire + spring 发布webservice
2. 利用 javascript 调用发布的webservice
使用xfire+spring发布webservice其实很简单,遵循一下几个步骤即可
1. 想要发布成文webservice的类,必须实现接口
2. 3个配置文件(后面详细说)
下面针对以上步骤详细说明
关于1中的要求,给个例子就明白了
Itest.java 代码
- package test;
-
- import org.json.JSONException;
-
- public interface IHello
- {
- public String hello();
- public String helloTo(String name);
- public String getJsonData(String pageIndex,String pageSize);
- }
HelloImpl.java 代码
- package test;
-
- import java.util.*;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
-
- import org.codehaus.xfire.transport.http.XFireServletController;
- import org.json.JSONException;
- import org.json.JSONStringer;
-
- public class HelloImpl implements IHello
- {
-
- public String hello()
- {
- return "hello";
- }
-
- public String helloTo(String name)
- {
- return " hello " + name + "!";
- }
-
- private void example()
- {
-
- HttpServletRequest request = XFireServletController.getRequest();
- HttpSession session = request.getSession();
- }
-
- public String getJsonData(String pageIndex,String pageSize)
- {
- String rtnValue = "";
-
- rtnValue = "";
- for(int i=0;i<Integer.parseInt(pageSize);i++)
- {
- rtnValue = rtnValue + "{'lastname': 'last" + pageIndex + "-" + i + "', 'firstname': 'first" + pageIndex + "-" + i + "' },";
- }
- rtnValue = rtnValue + "{'lastname': 'last', 'firstname': 'last' }";
-
- rtnValue = "{'context':[" + rtnValue + "],'pager':[{'totalRecord':'100','totalpage':'10','pageIndex':'" + pageIndex + "','pageSize':'10'}]}";
-
- return rtnValue;
- }
- }
就这样写就可以了
关于三个配置文件
web.xml修改如下
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-
- <context-param>
- <param-name>log4jConfigLocation</param-name>
- <param-value>/WEB-INF/classes/log4j.properties</param-value>
- </context-param>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- /WEB-INF/classes/applicationContext*.xml
- classpath:org/codehaus/xfire/spring/xfire.xml
- </param-value>
- </context-param>
-
-
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
- </listener>
-
- <listener>
- <listener-class>
- org.springframework.web.util.IntrospectorCleanupListener
- </listener-class>
- </listener>
-
-
- <servlet>
- <servlet-name>xfire</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>xfire</servlet-name>
- <url-pattern>*.ws</url-pattern>
- </servlet-mapping>
-
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- </web-app>
这里注意 classpath:org/codehaus/xfire/spring/xfire.xml 必须要写进去
xfire-servlet.xml 新建这个文件,并且和web.xml放在同一个文件夹
注意: 名称和位置都不能变(也许可以改,我不知道)
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="urlMap">
- <map>
- <entry key="/testService.ws">
- <ref bean="test"/>
- </entry>
- </map>
- </property>
- </bean>
-
- <bean id="test" parent="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter">
- <property name="serviceBean">
- <ref bean="testBean"/>
- </property>
- <property name="serviceClass">
- <value>test.IHello</value>
- </property>
- </bean>
-
-
- <bean id="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">
- <property name="serviceFactory">
- <ref bean="xfire.serviceFactory" />
- </property>
- <property name="xfire">
- <ref bean="xfire" />
- </property>
- </bean>
- </beans>
spring 的配置文件 applicationContext-webService.xml
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="testBean" class="test.HelloImpl"></bean>
- </beans>
查看wsdl http://localhost:8080/mootools/
testService.ws?wsdl
运行 进入 index.html 页面,点击 即可执行调用,正常显示表示发布成功,调用失败会返回error(运行前请修改index.html文件的源码,将url修改成真正的url)
例子很简单,不过多解释,源码查看附件
- mootools.rar (239 KB)
- 描述: xfire+spring发布webservice例子
- 下载次数: 4847
分享到:
相关推荐
本示例将详细介绍如何使用XFire和Spring框架来构建一个Web服务。XFire是Apache CXF的一部分,它是一个用于创建、部署和管理Web服务的开源工具,而Spring是一个广泛使用的Java企业级应用开发框架,提供了一个全面的...
【xfire+Spring+WebService 入门实例详解】 在IT行业中,Web服务是一个重要的通信方式,它允许不同系统间的应用程序进行数据交换。本入门实例将深入探讨如何使用XFire框架与Spring集成来构建和消费Web服务。XFire是...
总结来说,这个"xfire+spring开发webservice的例子"是一个完整的Java Web服务开发示例,它演示了如何利用Maven管理依赖,借助XFire创建和部署Web服务,以及如何利用Spring进行服务的管理和测试。这对于学习和理解Web...
在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...
总结来说,使用XFire和Spring构建Web Service的优势在于,XFire简化了Web Service的创建和部署,而Spring则提供了强大的依赖管理和企业级特性。这种结合使得开发者能更专注于业务逻辑,而不是底层的通信细节。在实际...
在本文中,我们将深入探讨如何使用Spring框架与XFire库结合来实现Web服务。Spring是一个广泛应用的Java企业级开发框架,而XFire是早期的Web服务实现库,它提供了轻量级、高效的SOAP(简单对象访问协议)服务支持。...
在这个“简单的XFire WebService例子”中,我们将深入探讨如何利用XFire来构建和消费Web服务。 【 WeberService概念】 Web服务是一种通过网络(通常是互联网)提供和使用功能的方法,它遵循特定的协议和标准,如...
这篇博客文章“xfire发布webservice服务”可能详细介绍了如何使用XFire来构建并发布一个Web服务。 【描述】:“NULL” 虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web...
在"webservice和Spring接合的实例"这一标签中,我们可以推断这个例子还涉及到了Spring对Web服务的支持。Spring提供了多种Web服务工具,如Spring-WS和Spring-Integration-WS,可以方便地创建、消费和管理Web服务。...
定义服务接口和服务实现,然后使用XFire的注解(如`@WebService`)标记你的服务类。 5. **配置XFire**:配置XFire的Servlet或CXF的FrontendServlet,指定服务发布的位置和端口。将Spring配置中的服务bean暴露为Web...
在本例子中,我们将探讨如何在Spring框架中利用XFire来创建和使用Web服务。 首先,让我们理解Spring框架。Spring是一个开源的Java平台,它为开发企业级应用程序提供了全面的基础。Spring的核心特性包括依赖注入和...
本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心概念:它是一种基于标准的、平台无关的、用于应用程序之间交互的技术,通过SOAP(Simple Object Access Protocol...
**如何使用XFire实现WebService:** 1. **创建服务接口**:首先,定义一个Java接口,包含你希望暴露为Web服务的方法。 2. **实现服务接口**:编写实现该接口的类,提供具体业务逻辑。 3. **配置XFire**:通过XML...
总的来说,"webService+Xfire入门"的教程适合初学者,通过它你可以快速了解Web Service的基本概念,学会使用MyEclipse创建、部署和测试Web Service,并理解XFire在Web服务开发中的作用。实践这个小例子,你将对Web ...
Xfire支持SOAP、WSDL和UDDI等Web服务标准,同时还提供了与Spring框架的良好集成。 ### 2. 服务端发布 发布一个Web服务在Xfire中通常涉及以下步骤: 1. **创建服务接口**:定义Web服务的业务逻辑,通常是Java接口...
在阅读《xfire_webservice_example说明.doc》文档时,您会发现它可能涵盖了如何配置和运行这个示例的详细步骤,包括必要的依赖库、XML配置、以及如何编写和运行客户端代码。这份文档是学习xfire和Web服务开发的宝贵...
在描述中提到的"绝对可以运行"的例子,表明这是一个实际操作过的示例,旨在帮助初学者快速理解如何使用XFire来创建和部署Web服务。下面将详细介绍XFire的核心概念和使用步骤。 1. **安装与配置**:首先,你需要下载...
标题 "xfire生成webservice" 涉及到的技术核心是XFire,它是一个Java Web服务框架,用于创建和消费SOAP服务。XFire是Apache CXF的前身,它简化了Web服务的开发过程,允许开发者快速地将业务逻辑暴露为Web服务。 ...