J'essaie de créer un client autonome pour consommer certains services Web. Je dois ajouter mon nom d'utilisateur et mot de passe à l'en-tête SOAP. J'ai essayé d'ajouter les informations d'identification comme suit:JAX-WS - Ajout d'en-têtes SOAP
OTSWebSvcsService service = new OTSWebSvcsService();
OTSWebSvcs port = service.getOTSWebSvcs();
BindingProvider prov = (BindingProvider)port;
prov.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "myusername");
prov.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "mypassword");
...
Quand j'appelle une méthode sur le service que je reçois l'exception suivante:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5048E: One of "SOAP Header" elements required.
Qu'est-ce que je fais mal? Comment ajouter ces propriétés à l'en-tête SOAP? Edité: J'utilisais JAX-WS 2.1 inclus dans JDK6. J'utilise maintenant JAX-WS 2.2. Je reçois maintenant l'exception suivante:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
Comment puis-je créer ce jeton?
Quelle pile ws utilisez-vous? –
JAX-WS 2.1 inclus dans JDK6. –