2011-09-29 3 views
1

OpenSAML2 라이브러리를 사용하여 서비스 공급자를 설정하려고합니다. 사용자의 브라우저에서 HttpRequest를 받아들이는 서블릿을 설정하려고하고 있는데 요청 매개 변수에 따라 SAML 인증 요청 패킷을 만들고 싶습니다.서블릿 환경 (Tomcat 웹 서버)에서 OPENSAML2를 사용하는 동안 마샬링 오류 발생

SAML 패킷을 만들 수 있지만 사용자 브라우저를 ID 공급자 서버로 리디렉션 할 수 있도록 Base64로 인코딩해야합니다. 그렇게하기 위해 SAML 인증 요청을 'org.opensaml.saml2.core.impl.AuthnRequestMarshaller # marshall (AuthnRequest)'을 사용하여 마샬링하려고합니다.

웹 서버 환경 (독립 실행 형 Java 응용 프로그램) 외부에서 시도해도 정상적으로 작동합니다. 그러나 서블릿 구성 요소로 실행할 때 "{urn : oasis : names : tc : SAML : 2.0 : assertion} 마샬 러를 사용할 수 없습니다."발급자, {urn : oasis : tc : SAML : 2.0 : protocol} AuthnRequest ", 여기서 Issuer는 AuthnRequest 객체의 구성 요소입니다.

Tomcat 5.5.34 웹 서버를 사용하고 있습니다. 누군가 여기서 일어나는 일을 알아낼 수 있다면 좋을 것입니다. 그것은 다른 사람들이 그들 자신의 서비스 제공자를 작성하는 것을 도울 것입니다. 놀랍게도 이것에 대한 문서는 매우 적습니다.

감사합니다, Kaustubh

답변

2

당신은 .. 톰캣 일반/endorsed 디렉토리 안에 다음 항아리가 필요

  • 해결-2.9.1.jar
  • 시리얼-2.9.1.jar
  • 의 Xalan-2.7.1.jar
  • xercesImpl-2.9.1.jar
  • XML-API에-2.9.1.jar

Here은 SAML2 서비스 공급자 [예제 WAR 포함]의 예입니다.

0

Prabath의 답변은 점에 표시되어 있습니다. 나는 똑같은 문제에 직면하여 Sun iJDK의 xalan 및 xerces를 보증함으로써 해결했습니다. Shibboleth site에서 공식 가이드를 확인하십시오. openSAML 배포 요구 사항은 "라이브러리 설치"를 참조하십시오.