2013-06-19 2 views
0

jaxws-ri를 사용하여 webservices에서 스텁을 만듭니다. tomcat에 응용 프로그램을 배포 했으므로 괜찮습니다. 이제 websphere 7.0으로 이동하고 싶습니다. 같은 전쟁을 전개 할 때 로그인 페이지가 보이지만 웹 서비스에 대한 호출이 이루어지면 응용 프로그램에서 오류가 발생합니다.Websphere Application Server가 jaxws jar의 클래스를 호출하지 않습니다.

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에 배치하면 클래스 서비스는 jaxws jar 대신 axis2 jar에서 호출됩니다. axis2 jar 파일을 제거하고 websphere의 plugins 및 lib 폴더에 jaxws jar 파일을 붙여 넣으려고했지만이 방법은 효과가 없습니다. 아무도 내가이 문제를 어떻게 해결할 수 있는지 알려주세요. 미리 감사드립니다.

+0

어떤 신체든지 약간 해결책을 제시 할 수 있습니까 ... 나는 아직도 이것에 붙어 있습니다. Parent_Last로 구성 변경을했습니다. 그렇다면 그것은 클래스 캐스팅 예외를 제공합니다. –

답변

0

내게는 클라이언트에 WS-Security 사용자 이름 토큰을 설정해야합니다. 테스트를 위해 SoapUi를 사용하는 경우 새로운 WS-Security 구성을 추가하십시오 (Username WSS 항목 사용).