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
分享到:
相关推荐
这种集成方式在过去的项目中非常常见,但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play ...
【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...
XFire可与其他Java框架无缝集成,如Spring、Struts等。通过Spring的AOP支持,可以方便地实现服务的事务、安全性和其他企业级特性。 **10. 示例应用** 在提供的压缩包中,可能包含了创建一个简单的Java XFire Web...
Xfire与Spring有很好的集成,可以在Spring应用上下文中直接声明Web服务,提供XML消息的编解码、WSDL(Web Services Description Language)生成等功能。 在搭建系统框架的过程中,首先需要配置这些框架的环境。对于...
综上所述,Struts、Spring、Hibernate三大框架是Java企业级开发的核心技术,而Servlet和Web服务是实现这些框架与外界交互的重要手段。在MyEclipse这样的集成开发环境中,可以方便地创建和部署基于这些技术的项目,...
MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...
通过简单的XML配置或者编程式API,可以将XFire集成到Spring、Struts等主流Java应用框架中,实现Web服务的快速开发。 总结,XFire 1.2.6是一个强大而灵活的Web服务开发工具,尤其适合那些希望避免复杂Web服务框架的...
XFire提供了一系列方便的API,使得开发者可以快速地开发和部署基于SOAP的Web服务。XFire支持包括SOAP、WSDL、WS-I Basic Profile、WS-Addressing、WS-Security等在内的多项WebService标准,并且拥有高性能的SOAP栈。...
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 ...
6. **Web Services**:在第十五章《开发XFire Web Service应用》中,会介绍如何利用Myeclipse和XFire框架创建和消费Web服务,这对于分布式系统间的通信至关重要。 7. **图形界面开发**:第十八章《图形界面开发--...
7. **分布式项目阶段**:使用Struts+Spring+Hibernate+XFire进行项目开发。 8. **专向课程阶段**:学习搜索引擎、工作流等专业技术。 9. **专向项目实战阶段**:结合SSH2、短信平台、调用发送接口等进行实战练习。 ...
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. 命令控制器 ...
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. 命令控制器 ...
- **Web Services**:介绍了基于Xfire的Web服务开发,这是实现SOA的重要组成部分。 #### 四、Web开发技术 - **JSP (Java Server Pages)**:用于生成动态网页的技术,本书讲解了如何使用MyEclipse开发JSP页面。 - **...
本文将深入探讨如何利用CXF创建带有用户认证的Web服务接口,并将其与SSH(Spring、Struts、Hibernate)框架整合。 首先,让我们了解一下CXF创建Web服务的基本步骤: 1. **设置项目环境**:确保你的开发环境中已经...
- `wss4j-1.5.11.jar`:Web Services Security for Java,用于实现WS-Security标准,提供安全机制。 - `stringtemplate-3.2.jar`:StringTemplate是一个模板引擎,用于生成文本输出,如XML或HTML。 - `wsdl4j-...
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,...
通过实践,开发者可以掌握如何使用这些基本技术来构建一个完整的系统,这对于进一步学习Spring、Struts等高级框架,以及深入理解Web服务的原理和实践都是一个很好的起点。同时,对于没有框架经验的初学者,这是一个...