Je tente d'appeler un service Web, qui a une authentification HTTP de base. J'ai généré le code client en utilisant l'outil WSDL2JAVA d'AXIS.Authentification de base HTTP pour l'appel WEBService
Mais je ne suis pas en mesure de définir le nom d'utilisateur et le mot de passe pour l'appel de service Web.
J'ai essayé de les avoir dans l'URL de point final comme
mais je reçois l'erreur non autorisée pour cela. J'essaie de trouver un moyen d'obtenir cet ensemble à mon appel dans le code Java ....
Note: Je suis capable d'invoquer le même service via le soapUI et obtenir les résultats. J'ai fourni le nom d'utilisateur et mot de passe dans l'onglet "Aut" sur la demande.
Voici quelques-uns des extraits de code de mon Stub, si cela est Userful pour vous
_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
_serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
_serviceClient.getOptions().setUseSeparateListener(useSeparateListener);
//adding SOAP soap_headers
_serviceClient.addHeadersToEnvelope(env);
// set the message context with that soap envelope
_messageContext.setEnvelope(env);
// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);
//execute the operation client
_operationClient.execute(true);
Toutes les entrées seront grandement appréciés !!
Merci! Cela a fonctionné. J'ai trouvé seulement ceci si _serviceClient.getOptions(). SetProperty (org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth); –
Est-ce que quelqu'un sait pourquoi les informations d'identification ne peuvent pas être placées dans l'URL du point de terminaison comme indiqué dans la question? Vous pouvez le faire avec Apache HttpClient et je suppose que Axis utilise cela dans les coulisses ... – Kaitsu