xfire实现ws-security错误,请指教

hechenhui1983 2009-12-10 04:13:36
项目中用到xfire实现ws-security,从网上找不少的教程,好像都是一个出处,其中都有
为了能支持WS-Security必须添加两个Handler:inhandlers、outhandlers。
以下必须添加到inHandlers
1、 org.codehaus.xfire.security.wss4j.WSS4JInHandler:执行WS-Security相关的函数;
2、 org.codehaus.xfire.util.dom.DOMInHandler:为WS-Security从StAX 转换成DOM格式。
注:DOMInHandler必须引入Xalan 2.7.0,XFire默认没有引入。
以下添加到outHandlers:
1、 org.codehaus.xfire.security.wss4j.WSS4JOutHandler:执行WS-Security相关的函数;
2、 org.codehaus.xfire.util.dom.DOMOutHandler:为WS-Security从StAX 转换成DOM格式。

想知道应该怎么添加???

照着教程做完后报错如下:
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name '' defined in class path resource [META-INF/xfire/services.xml]: Bean class [org.codehaus.xfire.security.wss4j.WSS4JInHandler] not found; nested exception is java.lang.ClassNotFoundException: org.codehaus.xfire.security.wss4j.WSS4JInHandler
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:485)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:392)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitionElement(XBeanXmlBeanDefinitionParser.java:770)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parsePropertySubElement(DefaultXmlBeanDefinitionParser.java:724)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parsePropertySubElement(XBeanXmlBeanDefinitionParser.java:792)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseListElement(DefaultXmlBeanDefinitionParser.java:802)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseNestedPropertyViaIntrospection(XBeanXmlBeanDefinitionParser.java:521)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.tryParseNestedPropertyViaIntrospection(XBeanXmlBeanDefinitionParser.java:436)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.addNestedPropertyElements(XBeanXmlBeanDefinitionParser.java:402)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:155)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:174)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitions(XBeanXmlBeanDefinitionParser.java:742)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:78)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:99)
org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:39)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:75)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:51)
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)

...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
princesshan 2011-12-06
  • 打赏
  • 举报
回复
我也遇到了同样的问题,解决了,
缺少xml开头的三个包,加进去就好了。
yonghuuser 2011-03-26
  • 打赏
  • 举报
回复
可以引入的,我也遇到过这个问题。选中工程-右键“build path"-configur build path-add jars - myeclipse libraries - org.codehaus.xfire.security.wss4j.WSS4JInHandler
这样就引入了。只不过引入之后我的问题还没有解决。我的QQ是362158294
hechenhui1983 2009-12-14
  • 打赏
  • 举报
回复
难道没人会吗????
hechenhui1983 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 boboo_2000_0 的回复:]
楼主先把xfires发布文件services.xml贴出来吧,我觉得是没有正确配置org.codehaus.xfire.security.wss4j.WSS4JInHandler这个handler的原因。
[/Quote]

只是我的services.xml
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>TestServices</name>
<serviceClass>cn.com.testwss.services.ITestServices</serviceClass>
<implementationClass>cn.com.testwss.services.impl.TestServicesImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
<inHandlers>
<handler handlerClass="org.codehaus.xfire.util.dom.DOMInHandler"/>
<bean class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
<property name="properties">
<props>
<prop key="action">Signature</prop>
<prop key="signaturePropFile">insecurity.properties</prop>
<prop key="decryptionPropFile">insecurity.properties</prop>
<prop key="passwordCallbackClass">cn.com.testwss.ws_security.PasswordHandler</prop>
</props>
</property>
</bean>
</inHandlers>
</service>
</beans>
boboo_2000_0 2009-12-11
  • 打赏
  • 举报
回复
楼主先把xfires发布文件services.xml贴出来吧,我觉得是没有正确配置org.codehaus.xfire.security.wss4j.WSS4JInHandler这个handler的原因。
hechenhui1983 2009-12-10
  • 打赏
  • 举报
回复
补充:我引入Xfire-ws-sercurity-1.2.2.jar后还是报错。。。
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name '' defined in class path resource [META-INF/xfire/services.xml]: Class that bean class [org.codehaus.xfire.security.wss4j.WSS4JInHandler] depends on not found; nested exception is java.lang.NoClassDefFoundError: null
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:489)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:392)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitionElement(XBeanXmlBeanDefinitionParser.java:770)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parsePropertySubElement(DefaultXmlBeanDefinitionParser.java:724)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parsePropertySubElement(XBeanXmlBeanDefinitionParser.java:792)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseListElement(DefaultXmlBeanDefinitionParser.java:802)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseNestedPropertyViaIntrospection(XBeanXmlBeanDefinitionParser.java:521)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.tryParseNestedPropertyViaIntrospection(XBeanXmlBeanDefinitionParser.java:436)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.addNestedPropertyElements(XBeanXmlBeanDefinitionParser.java:402)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:155)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:174)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitions(XBeanXmlBeanDefinitionParser.java:742)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:78)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:99)
org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:39)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:75)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:51)
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧