2011-09-08 6 views
1

우리는 weblogic에 oasis wsse를 구현 한 webservice를 배치했습니다. 그런 다음 jboss (나중에 메트로 시도)에서 wsconsume을 사용하여 클라이언트를 만들고 웹 서비스를 호출했습니다. 항상 오류가 발생하고 성공적으로 전송 된 soapUI에서 테스트 클라이언트를 만들려고 시도했으며 jboss에서 생성 된 요청이 일치하지 않음을 알았습니다. 1) DateToken : 작업 :웹 로직 배포 OASIS WSSE 웹 서비스 호출

< WSU :

은 내가 찾은이 차이가 있습니다 생성을> 2011-09-06T08 : 22 : 14.515Z </WSU 등재>

작동하지 :

< WSSE : 12 :> 2011-09-07T06 만든 37.322Z <을/WSS 전자 등재>

2) 비밀번호를 입력 : 작업 :

< WSSE : 비밀번호 유형 = "http://docs.oasis-open.org/wss/2004/01/ 오아시스 - 200401 - WSS-사용자 이름 토큰 프로파일-1.0 # PasswordDigest "> OB7izBPcPE0sfJaAEdD1uIrlFT4 = </WSSE : 비밀>

작동하지 :

< wsse : 암호 유형 = 'http : //docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#PasswordDigest'> trvFhf0ZCHQy4cBtNu984fs/nIg = </wsse : 비밀>

이 내가 클라이언트에서 웹 서비스를 호출하는 방법이다 : 나는 jboss4.2.3, jbossws 클라이언트 3.0.1-native-2.0.4.GA을 사용하고

URL clientSideSecurityfile = new File("jboss-wsse-client.xml").toURI().toURL(); 
BindingProvider bp = (BindingProvider) port; 
((StubExt) port).setSecurityConfig(clientSideSecurityfile.toExternalForm()); 
((StubExt) port).setConfigName("Standard WSSecurity Client"); 
bp.getRequestContext().put(StubExt.PROPERTY_AUTH_TYPE, StubExt.PROPERTY_AUTH_TYPE_BASIC); 
bp.getRequestContext().put(StubExt.PROPERTY_CLIENT_TIMEOUT, 30000); 
bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "usernmae"); 
bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "password"); 
responseACK = port.callWebService(); 

합니다.

어떻게 해결할 수 있습니까? jbossws가 datetoken과 암호를 입력해야하는 잘못된 wsse 태그를 생성하고있는 것 같습니다. 명세서 유형별로이어야

wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility- 
1.0.xsd" 

또한,이 있어야 UsernameToken이 프로파일 specification 따르면

답변

1

,

<wsu:Created> 

,

Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest" 

모두;

<wsse:Created>2011-09-07T06:12:37.322Z</wsse:Created> 

그리고

<wsse:Password Type='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#PasswordDigest'>trvFhf0ZCHQy4cBtNu984fs/nIg=</wsse:Password> 

는 사양과 호환되지,은 ...

+0

안녕하세요 빠른 답장을 보내 주셔서 감사합니다.하지만 분명히 jbossws 네이티브는 내가 말한 것처럼 2 개의 잘못된 태그를 생성했습니다. 이것으로 해결할 수 있습니까? 아마도 다른 스택을 사용합니다 : -? – czetsuya

+0

당신은 클라이언트가 아파치 Axis2를 사용하여 생성 할 수 있습니다 .. 그것은 주어진 wsdl에서 클라이언트 스텁을 생성하는 도구 wsdl2java와 함께 제공 ... –