加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ssh配xfire

发布时间:2020-12-17 01:17:56 所属栏目:安全 来源:网络整理
导读:xfire 和 Spring 良好的结合,促使我将原有的axis方式改造到 xfire 方式。下面将整个过程简述一下,首先看一下如何配置 xfire 。在Web.xml中有两种方式来配置 xfire , 一种是通过 spring 提供的org. spring framework.web.servlet.DispatcherServlet来实现

xfireSpring良好的结合,促使我将原有的axis方式改造到xfire方式。下面将整个过程简述一下,首先看一下如何配置xfire。在Web.xml中有两种方式来配置xfire
一种是通过spring提供的org.springframework.web.servlet.DispatcherServlet来实现,配置方法是这样的:
1、web.xml中配置

Java代码

复制代码

  1. <servlet>??
  2. ???????? <servlet-name>xfire</servlet-name>??
  3. ???????? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>??
  4. ???? </servlet>??
  5. ??????
  6. ???? <servlet-mapping>??
  7. ???????? <servlet-name>xfire</servlet-name>??
  8. ???????? <url-pattern>/*</url-pattern>??
  9. ???? </servlet-mapping>??


2、WEB-INF下添加xfire-servlet.xml文件,配置方法如下:

Java代码

复制代码

  1. <?xml version="1.0" encoding="UTF-8"?>?????
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">??
  3. <beans>??
  4. ???? <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">??
  5. ???????? <property name="urlMap">??
  6. ???????????? <map>??
  7. ???????????????? <entry key="/EchoService"> <!-- 这里是WebService的名称 -->??
  8. ???????????????????? <ref bean="echo"/>???
  9. ???????????????? </entry>??
  10. ???????????? </map>??
  11. ???????? </property>??
  12. ???? </bean>??
  13. ??????
  14. ???? <bean id="echo" class="org.codehaus.xfire.spring.remoting.XFireExporter">??
  15. ???????? <property name="serviceFactory">??
  16. ???????????? <ref bean="xfire.serviceFactory"/>??
  17. ???????? </property>??
  18. ???????? <property name="xfire">??
  19. ???????????? <ref bean="xfire"/>??
  20. ???????? </property>??
  21. ???????? <property name="serviceBean">??
  22. ???????????? <ref bean="echoBean"/>??
  23. ???????? </property>??
  24. ???????? <property name="serviceClass">??
  25. ???????????? <value>xxx.com.webservice.Echo</value>??
  26. ???????? </property>??
  27. ???? </bean>??
  28. </beans>??


配置完成后,定义一个接口,然后启动Server,通过client可实现WebService的访问。

同时,xfire提供了另外一种阅读性更好,更符合spring配置习惯的配置方法,配置方法如下:
1、web.xml

Java代码

复制代码

  1. <servlet>??
  2. ???????? <servlet-name>XFireServlet</servlet-name>??
  3. ???????? <servlet-class>??
  4. ???????????? org.codehaus.xfire.spring.XFireSpringServlet??
  5. ???????? </servlet-class>??
  6. ???? </servlet>??
  7. ??????
  8. ???? <servlet-mapping>??
  9. ???????? <servlet-name>XFireServlet</servlet-name>??
  10. ???????? <url-pattern>/servlet/XFireServlet/*</url-pattern>??
  11. ???? </servlet-mapping>??
  12. ??????
  13. ???? <servlet-mapping>??
  14. ???????? <servlet-name>XFireServlet</servlet-name>??
  15. ???????? <url-pattern>/service/*</url-pattern>??
  16. ???? </servlet-mapping>??


这种方式不需要单独配置一个xfire-servlet.xml文件,只需要在spring的applicationContext文件中进行配置就能实现WebService的配置
2、applicationContext.xml

Java代码

复制代码

  1. <?xml version="1.0" encoding="UTF-8"?>??
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">??
  3. <beans>??
  4. ???? <!-- 需要import下面这个xml文件 -->??
  5. ???? <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />??
  6. ??????
  7. ???? <!-- WebService Impl?? WebService接口的实现类-->??
  8. ???? <bean id="accountWebServiceImpl" class="xxx.com.account.webservice.impl.AccountWebServiceImpl" autowire="byName" />??
  9. ???? <!-- end -->??
  10. ??????
  11. ???? <!-- 下面的配置是WebService的标准配置 -->??
  12. ???? <bean id="AccountWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter"> <!-- WebService的名字 -->??
  13. ???????? <property name="xfire" ref="xfire" />??
  14. ???????? <property name="serviceBean" ref="accountWebServiceImpl" /> <!-- WebService的实现类bean -->??
  15. ???????? <property name="serviceClass" value="xxx.com.account.webservice.AccountWebService" />??
  16. ???????? <property name="inHandlers" ref="authenticationHandler"/> <!--普通的用户名密码的方式进行WebService的验证-->??
  17. ???? </bean>??
  18. ???? <bean id="authenticationHandler"??
  19. ??????????class="xxx.com.account.webservice.authentcation.AuthenticationHandler"/>??
  20. </beans>??


通过上面的配置,就可以将Spring的bean和xfire的WebService很好的结合起来了,以上的方式在WebService上只是做了简单的密码验证,并不能保证WebService的安全性,下面将详细描述如何通过WSS4J的方式来实现WebService的数字证书的加密验证,这里大量的参考了SpringSide,非常感谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读