2009-11-10 4 views
0

두 개의 클라이언트에서 axis2를 사용하여 호출하는 SOAP 웹 서비스가 있습니다. 웹 서비스에서이 두 클라이언트 중 어느 클라이언트로부터 호출이 시작되었는지 알 수 있습니까? 그렇다면 런타임 중에 어떻게 알 수 있습니까? 해당 웹 서비스가 특정 웹 서비스 호출자의 이름을 조회하기 위해 제공되는 API가 있습니까? 감사.웹 서비스 호출자의 이름/ID

답변

0

일반적으로 HTTP 헤더에는 정보가 포함될 수 있지만 클라이언트에 따라 다릅니다. 호출자를 결정하는 가장 좋은 방법은 클라이언트와 서비스간에 전달되는 ID와 같은 알려진 컨텍스트를 갖는 것입니다. 이것은 SOAP 본문 (서비스에 대한 인수로), SOAP 헤더 또는 전송 프로토콜의 일부 (예 : HTTP 세션 쿠키 사용)로 전송할 수 있습니다.

컨텍스트가 유지되는 위치에 따라 다른 동작을 가능하게합니다. SOAP 본문에서 서비스 구현을 사용하여 처리를 수행 할 수 있습니다 (아마도 DB 룩업 또는 비슷한 실행). SOAP 헤더에서 컨텍스트가 필요한 모든 서비스에 헤더 처리기를 추가하고 서비스 호출을 올바르게 설정할 수 있음을 의미합니다. 전송 프로토콜에서 컨텍스트는 SOAP 메시지와 분리되어 전송 핸들러를 사용하여 컨텍스트를 상호 연관시킬 수 있음을 의미합니다.

관련 문제