前一段时间在做caredog gis系统的时候,需要做一个统计模块,让另外一个web系统调用,自己的项目是用ssh框架搭建的.想了想还是用webservice吧.
利用webservice可以使不同的项目相互之间通信.而你只对外提供一个接口即可.
例如:我需要将下面类中的方法提供给另一个系统调用.
package com.tiros.caredog.cd.service;
import java.util.List;
import com.tiros.caredog.cd.pojo.Report;
public interface ReportService {
List<Report> queryByCondition(Integer year, Integer month, Integer version);
int add(int a , int b);
}
大家可以看到. 在这个接口中有两个方法. 一个是传入年,月,版本号来查询report的list.
另一个是一个简单的加法运算. 用来测试的.
step1:导入webservice需要的jar包. (jar包请斟酌删减,可能与你的项目中其他jar包有冲突的,或者用不到的可以删减)
activation-1.1.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-logging-1.0.4.jar
jaxws-api-2.0.jar
jaxen-1.1-beta-9.jar
jdom-1.0.jar
mail-1.4.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
spring-1.2.6.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.0.jar
xbean-2.2.0.jar
xbean-spring-2.8.jar
xfire-aegis-1.2.6.jar
xfire-annotations-1.2.6.jar
xfire-core-1.2.6.jar
xfire-java5-1.2.6.jar
xfire-jaxws-1.2.6.jar
xfire-spring-1.2.6.jar
xfire-jsr181-api-1.0-M1.jar
jsr173_api-1.0.jar
XmlSchema-1.1.jar
step2: 在web.xml中配置如下信息.(因为我的项目用了spring管理.)<servlet>标签一定要放在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>/services/*</url-pattern>
</servlet-mapping>
配置一个叫 xfire的servlet . 当客户端用/services/请求时调用.
step3:在web-info下新增一个xfire-servlet.xml文件.
<?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-->
<!-- 使用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="EntrustService" parent="baseWebService">
<!-- 业务服务bean "reportServiceImp"为applicationcontext.xml中的"reportServiceImp"-->
<property name="serviceBean" ref="reportServiceImp" />
<!-- 业务服务bean的窄接口类 serviceClass. 接口类.-->
<property name="serviceClass"
value="com.tiros.caredog.cd.service.ReportService" />
</bean>
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/reportService">
<ref bean="EntrustService" />
</entry>
</map>
</property>
</bean>
</beans>
在上面的代码片段中的reportServiceImp.来源于applicationContext.xml中的bean.
<bean id="reportServiceImp"
class="com.tiros.caredog.cd.serviceimp.ReportServiceImp">
<property name="reportDao" ref="reportDaoImp"></property>
</bean>
分享到:
相关推荐
3. **低延迟通信**:通过优化的数据包处理和网络层设计,XFire实现了低延迟的通信,确保了游戏的实时性和流畅性。 4. **可扩展性**:XFire的设计允许开发者添加自定义模块和插件,以扩展其功能,满足复杂的游戏逻辑...
《Xfire:构建Web服务的关键组件》 在IT行业中,Web服务已经成为企业级应用集成、数据交换和跨系统通信的核心技术。Xfire,一个历史悠久的Java库,是开发者们构建Web服务的重要工具,特别是对于那些熟悉Java环境的...
webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar
webservice中用到的jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar
需要引入如下包:commons-codec-1.2.jar、commons-httpclient-3.0.1.jar、jdom.jar、xfire-all-1.2.6.jar、wsdl4j-1.5.1.jar、commons-logging-1.0.4.jar、XmlSchema-1.4.7.jar
activation.jar commons-logging.jar jdom-1.0.jar spring.jar spring-mock.jar stax-api-1.0.1.jar stax-utils-snapshot-20040917.jar wsdl4j-1.5.2.jar wstx-asl-3.0.1.jar ...xfire-xmlbeans-1.2.2.jar
xfire-aegis-1.2.6.jar xfire-annotations-1.2.6.jar xfire-core-1.2.6.jar xfire-java5-1.2.6.jar xfire-jsr181-api-1.0-M1.jar xfire-spring-1.2.6.jar xfire-xmlbeans-1.2.6.jar xstream-1.3.1.jar
《Xfire全方位解析:1.2.6版本的全面探讨》 Xfire,这款曾经在游戏社区中广受欢迎的即时通讯软件,以其独特的游戏整合功能和社交特性,为玩家提供了便捷的游戏内通信和社区交流平台。本文将深入探讨Xfire 1.2.6这一...
webservice中用到的jar,xfire-jsr181-api-1.0-M1.jar,xfire-jsr181-api-1.0-M1.jar
《xfire-lib.zip:探索与理解》 在IT领域,压缩包文件是我们日常工作中不可或缺的一部分,它们有效地减少了文件的存储空间,便于传输和管理。"xfire-lib.zip"这一文件名,暗示着它可能是一个包含特定库文件的压缩包...
XFire1.2版本,其中修改了META-INF/services 目录下的javax.xml.ws.spi.Provider文件,解决因为jdk1.6和XFire的架包冲突问题
进行WebService开发中所用到的xfire所有相关包如:xfire-jsr181-api-1.0-M1.jar、xfire-jaxws-1.2.6.jar、xfire-java5-1.2.6.jar、xfire-core-1.2.6.jar、xfire-annotations-1.2.6.jar、xfire-aegis-1.2.6.jar、...
3. **高性能**: XFire 使用了 StAX(Streaming API for XML)进行 XML 解析,相比 DOM 和 SAX,StAX 提供了更优秀的性能和更低的内存占用。 4. **广泛的协议支持**: XFire 支持 SOAP 1.1 和 1.2,WS-Security,WS-...
一个压缩包3个文件(含源码) 费好大功夫找到的... Project metadata download: xfire-core-1.2.6.pom Binary download: xfire-core-1.2.6.jar Source download: xfire-core-1.2.6-sources.jar
webservice中用到的jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar
xfire-jsr181-api-1.0-M1.jar xfire-jsr181-api-1.0-M1.jar
3. 配置文件:可能包含默认的配置文件,用于设置XFire的行为和服务器环境。 4. 库依赖:其他必要的JAR文件,这些可能是XFire运行时所依赖的第三方库,如XML解析器、HTTP客户端库等。 5. 扩展模块:如果有的话,可能...
3. **XFireClient**:这是一个示例客户端,用于演示如何连接和调用由XFire提供的Web服务。开发者可以通过分析这个客户端的代码,了解如何在实际项目中与XFire服务进行交互,包括创建代理、发送请求和处理响应。 4. ...
3. **动态代码生成**:XFire的一大亮点是它的动态代码生成能力。它能够根据WSDL(Web服务描述语言)文件自动生成Java客户端和服务端代码,大大降低了开发工作量,同时也提高了代码的正确性和一致性。 4. **轻量级...
xfire-spring-1.2.6-sources.jarxfire-spring-1.2.6-sources.jar