`
chengwang
  • 浏览: 17678 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

xfire + struts + spring 开发webservices例子

阅读更多
1.新建web project  工程名:WSST  (附件可下载)
2.导入struts  、spring  (过程略……),导好后结构如下:
(下图中少了xfire 1.2 core libraries ,这个MyEclipse自带的有该包,用add libraries可导入进来。)


3.编写服务器端代码:
   服务接口类:
package com.wsst.service;

public interface HelloWorld {
	public String execute(String message);
}


   服务具体实现类:

package com.wsst.service;

public class HelloWorldImpl implements HelloWorld {

	public String execute(String message) {
		// TODO Auto-generated method stub
		 return "您输入的内容是:" + message;
	}
}


业务服务bean
package com.wsst.service;

public class ServiceBean {

}



4.修改配置文件
   Spring配置文件(2.0版本生成的application.xml直接添加有点问题 ,把声明文件改成同struts-config.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="HelloServiceBean" class="com.wsst.service.HelloWorldImpl"/>
</beans>


   在WebRoot/WEB_INF/下增加 xfire-servlet.xml(注意同web中配置的xfire有关联)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

	<!-- 引入XFire预配置信息 -->
	<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
	
	<!-- 定义访问的url-->
	<bean
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="urlMap">
			<map>
				<entry key="/HelloService.ws">
					<ref bean="HelloService" />
				</entry>
			</map>
		</property>
	</bean>

	<!-- 使用XFire导出器 -->
	<bean id="baseWebService"
		class="org.codehaus.xfire.spring.remoting.XFireExporter"
		lazy-init="false" abstract="true">
		<!-- 引用xfire.xml中定义的工厂 -->
		<property name="serviceFactory" ref="xfire.serviceFactory" />
		<!-- 引用xfire.xml中的xfire实例 -->
		<property name="xfire" ref="xfire" />
	</bean>

	<bean id="HelloService" parent="baseWebService">
		<!-- 业务服务bean -->
		<property name="serviceBean" ref="HelloServiceBean" />
		<!-- 业务服务bean的窄接口类 -->
		<property name="serviceClass" value="com.wsst.service.HelloWorld" />
	</bean>

</beans>



   在web.xml中增加如下内容:
<servlet>  
        <!-- 此servlet名称对应xfire的spring配置文件为(servlet名称-servlet.xml),既为xfire-servlet.xml--> 
        <servlet-name>xfire</servlet-name>  
        <servlet-class>  
            org.springframework.web.servlet.DispatcherServlet   
        </servlet-class>  
        <load-on-startup>0</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>xfire</servlet-name>  
        <url-pattern>*.ws</url-pattern>  
    </servlet-mapping>  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>/WEB-INF/applicationContext.xml</param-value>  
    </context-param>  
    <listener>  
        <listener-class>  
            org.springframework.web.context.ContextLoaderListener   
        </listener-class>  
    </listener>  

到此都已经配好了,发布项目,打开IE输入
http://localhost:8080/WSST/HelloService.ws?wsdl 即可访问。
  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="http://service.wsst.com" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://service.wsst.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.wsst.com">
- <xsd:element name="execute">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:element name="executeResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:schema>
  </wsdl:types>
- <wsdl:message name="executeRequest">
  <wsdl:part name="parameters" element="tns:execute" /> 
  </wsdl:message>
- <wsdl:message name="executeResponse">
  <wsdl:part name="parameters" element="tns:executeResponse" /> 
  </wsdl:message>
- <wsdl:portType name="HelloWorldPortType">
+ <wsdl:operation name="execute">
  </wsdl:portType>
- <wsdl:binding name="HelloWorldHttpBinding" type="tns:HelloWorldPortType">
  <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="execute">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="executeRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="executeResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="HelloWorld">
- <wsdl:port name="HelloWorldHttpPort" binding="tns:HelloWorldHttpBinding">
  <wsdlsoap:address location="http://localhost:8080/WSST/HelloService.ws" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>
  • 大小: 54.5 KB
2
2
分享到:
评论

相关推荐

    spring2.0 hibernate 3.0 struts1.1 xfire1.2 整合

    这种集成方式在过去的项目中非常常见,但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play ...

    整理xfire和spring的集成 web service 面向服务编程 java

    【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...

    java xfire Webservices实例

    XFire可与其他Java框架无缝集成,如Spring、Struts等。通过Spring的AOP支持,可以方便地实现服务的事务、安全性和其他企业级特性。 **10. 示例应用** 在提供的压缩包中,可能包含了创建一个简单的Java XFire Web...

    Spring2.5+Hibernate3.0+Xfire1.2.6框架搭建

    Xfire与Spring有很好的集成,可以在Spring应用上下文中直接声明Web服务,提供XML消息的编解码、WSDL(Web Services Description Language)生成等功能。 在搭建系统框架的过程中,首先需要配置这些框架的环境。对于...

    struts spring hibernate

    综上所述,Struts、Spring、Hibernate三大框架是Java企业级开发的核心技术,而Servlet和Web服务是实现这些框架与外界交互的重要手段。在MyEclipse这样的集成开发环境中,可以方便地创建和部署基于这些技术的项目,...

    Myeclipse10 用 Xfire构建 webservice

    MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...

    XFire1.2.6

    通过简单的XML配置或者编程式API,可以将XFire集成到Spring、Struts等主流Java应用框架中,实现Web服务的快速开发。 总结,XFire 1.2.6是一个强大而灵活的Web服务开发工具,尤其适合那些希望避免复杂Web服务框架的...

    xfire 使用方法

    XFire提供了一系列方便的API,使得开发者可以快速地开发和部署基于SOAP的Web服务。XFire支持包括SOAP、WSDL、WS-I Basic Profile、WS-Addressing、WS-Security等在内的多项WebService标准,并且拥有高性能的SOAP栈。...

    Spring Recipes: A Problem-Solution Approach, Second Edition

    contract-last with XFire, and contract–first through Spring Web Services. * Spring’s unit and integration testing support (on JUnit 3.8, JUnit 4, and TestNG). * How to secure applications using ...

    Myeclipse学习资料

    6. **Web Services**:在第十五章《开发XFire Web Service应用》中,会介绍如何利用Myeclipse和XFire框架创建和消费Web服务,这对于分布式系统间的通信至关重要。 7. **图形界面开发**:第十八章《图形界面开发--...

    JAVA学习的参考学习流程

    7. **分布式项目阶段**:使用Struts+Spring+Hibernate+XFire进行项目开发。 8. **专向课程阶段**:学习搜索引擎、工作流等专业技术。 9. **专向项目实战阶段**:结合SSH2、短信平台、调用发送接口等进行实战练习。 ...

    Spring API

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    Spring中文帮助文档

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    MyEclipse_6使用教程.pdf

    - **Web Services**:介绍了基于Xfire的Web服务开发,这是实现SOA的重要组成部分。 #### 四、Web开发技术 - **JSP (Java Server Pages)**:用于生成动态网页的技术,本书讲解了如何使用MyEclipse开发JSP页面。 - **...

    CXF创建Webservice接口与Spring整合实例

    本文将深入探讨如何利用CXF创建带有用户认证的Web服务接口,并将其与SSH(Spring、Struts、Hibernate)框架整合。 首先,让我们了解一下CXF创建Web服务的基本步骤: 1. **设置项目环境**:确保你的开发环境中已经...

    CXF webservice初学笔记

    - `wss4j-1.5.11.jar`:Web Services Security for Java,用于实现WS-Security标准,提供安全机制。 - `stringtemplate-3.2.jar`:StringTemplate是一个模板引擎,用于生成文本输出,如XML或HTML。 - `wsdl4j-...

    compass+ssh2集成 hibernategps问题

    4. `xfire-all-1.2.6.jar`:XFire是早期的Web服务实现,提供了SOAP和RESTful服务的支持。 5. `wss4j-1.5.1.jar`:Web Services Security for Java,用于处理Web服务的安全性。 6. `wstx-asl-3.2.0.jar`:Woodstox,...

    基于soa的E家园和个人通讯录

    通过实践,开发者可以掌握如何使用这些基本技术来构建一个完整的系统,这对于进一步学习Spring、Struts等高级框架,以及深入理解Web服务的原理和实践都是一个很好的起点。同时,对于没有框架经验的初学者,这是一个...

Global site tag (gtag.js) - Google Analytics