Bonjour.
Dans le cadre d'un client web, donc pour consommer un service.
Le service client s’authentifie une fois à STS avec un certificat X.509.
Il obtient de STS un token signé SAML qui reste valide durant 1 heure.
Voici la seule méthode fournie par le service.
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private static RequestSecurityTokenResponseType requestSecurityToken(org.oasis_open.docs.ws_sx.ws_trust._200512.RequestSecurityTokenType request) { be.socialsecurity.sts.v1.SecurityTokenService_Service service = new be.socialsecurity.sts.v1.SecurityTokenService_Service(); be.socialsecurity.sts.v1.SecurityTokenService port = service.getSecurityTokenServiceSOAP11(); return port.requestSecurityToken(request); }
Je dois renvoyer
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 requestSecurityToken(request) ;
Une partie du message d'erreur :
AVERTISSEMENT: WSP0075: Policy assertion "{http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}AsymmetricBinding" was evaluated as "UNKNOWN".
août 19, 2015 9:56:09 AM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] selectAlternatives
(Mes recherches se sont révélées être infructueuse pour l'instant)
Savez-vous comment renvoyer la requête? Ou comment utiliser cet objet ? Faut-il garnir cet objet? ou modifier le fichier wsdl? ou encore créer un fichier xml pour y mettre le fragment attendu?
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <complexType name="RequestSecurityTokenType"> <complexContent> <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/> </sequence> <attribute name="Context" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> <anyAttribute processContents='lax' namespace='##other'/> </restriction> </complexContent> </complexType>
Une piste ?
Merci![]()
Partager