UsernameToken 시나리오로 보안되는 WSO2 ESB WSDL 기반 프록시 서비스가 있습니다. 이 래퍼 서비스는 WSO2 Application Server에서 .aar 파일로 배포 된 Axis2 백엔드 웹 서비스 용입니다. 내가 원하는 것은 백엔드 서비스에서 인증에 사용 된 사용자 이름을 검색하는 것입니다. WSO2 Application Server의 웹 서비스에서 UsernameToken 시나리오에서 사용자 이름 검색
나는 자바 코드 아래를 사용하여 사용자 이름을 얻으려고 노력하지만, 항상 다시NULL
제공 :
MessageContext
가 램 파트 메시지 데이터를 저장하지 않는 것 같다
MessageContext msgContext = MessageContext.getCurrentMessageContext();
String username = (String)msgContext.getProperty(RampartMessageData.USERNAME);
. 메시지 컨텍스트에서 백엔드 서비스에 해당 사용자 이름을 전달하도록 WSO2 ESB에서 설정할 수있는 항목이 있습니까?
감사합니다.
답장을 보내 주셔서 감사합니다. 두 번째 제안은 WSO2 AS에 배포 된 백엔드 서비스의 사용자 이름이 필요했기 때문에 사용했습니다. – Voicu
WSO2 ESB 프록시 서비스의 inSequence에서 다음을 추가했습니다.'그리고 백엔드 Axis2 서비스에서'String username = MessageContext.getCurrentMessageContext(). getEnvelope(). getHeader(). getFirstChildWithName (새로운 QName ("http://example.com", "username" , "abc")). getText();'. –
Voicu