0

我正在使用 jaxws-ri 从 webservices 创建存根。我已经在 tomcat 上部署了应用程序,它工作正常。现在我想迁移到 websphere 7.0。当我部署相同的战争时,会看到登录页面,但是当调用 web 服务时,应用程序会抛出错误。

 LoginAction : execute : catch : WebServiceExceptionjavax.xml.ws.soap.SOAPFaultException: com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1249)
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:975)
at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMarshaller.demarshalFaultResponse(DocLitWrappedMethodMarshaller.java:550)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:421)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:384)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:308)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:158)
at $Proxy43.getLogin(Unknown Source)

我尝试调试代码,并为soap头找到了一个处理程序,该处理程序被称为扩展名为Service的类。此类存在于 jaxws jar 中。当我在 websphere 中部署时,类 Service 是从 axis2 jar 而不是 os jaxws jar 调用的。我尝试删除axis2 jar并将jaxws jar粘贴到websphere的插件和lib文件夹中,但这没有奏效。请任何人都可以帮助我如何解决这个问题。提前致谢。

4

1 回答 1

0

在我看来,您应该在客户端中设置 WS-Security 用户名令牌。如果您使用 SoapUi 进行测试,请添加新的传出 WS-Security 配置(使用用户名 WSS 条目)。

于 2013-11-14T14:34:17.683 回答