우리는 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 따르면
안녕하세요 빠른 답장을 보내 주셔서 감사합니다.하지만 분명히 jbossws 네이티브는 내가 말한 것처럼 2 개의 잘못된 태그를 생성했습니다. 이것으로 해결할 수 있습니까? 아마도 다른 스택을 사용합니다 : -? – czetsuya
당신은 클라이언트가 아파치 Axis2를 사용하여 생성 할 수 있습니다 .. 그것은 주어진 wsdl에서 클라이언트 스텁을 생성하는 도구 wsdl2java와 함께 제공 ... –