`
donggua63966659
  • 浏览: 16737 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
阅读更多
刚写了个 cxf 发布webService 的例子。再写个xfire吧。可以对比下。

xfire 1.2.6 + spring 3.0.5

几个配置文件:

web.xml:

<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- filter end -->
<!-- DispatcherServlet start -->
<servlet>
<servlet-name>web</servlet-name>
<servlet-class>xxx.xxxxx.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>web</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>web</servlet-name>
<url-pattern>*.ws</url-pattern>
</servlet-mapping>


spring-webService.xml

<!-- 引入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="/helloWorldWebService.ws">
<ref bean="helloWorldWebService" />
</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="helloWorldWebService" parent="baseWebService">
<!-- 业务服务bean -->
<property name="serviceBean" ref="helloWorldImpl" />
<!-- 业务服务bean的窄接口类 -->
<property name="serviceClass"
value="com.test.IHelloWorld" />
</bean>

<bean id="helloWorldImpl" class="com.bsoft.icp.bi6341.communicate.EmpiWebServiceImpl"/>

访问
http://localhost:8080/helloWorldWebService.ws?wsdl
显示wsdl文件。发布成功。



说以下xfire 和cxf 的简单不同。
1。 xfire 和spring很好的结合了。可以使用spring 带的mvc 功能,使用spring的拦截器。cxf 不确定是否可以使用spring的拦截器。
2. cxf 使用注解,可以灵活控制。xfire的灵活性就不太确定了。

当然现在没有xfire了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics