2012-07-30 8 views
2

Je dois obtenir le nom d'utilisateur et mot de passe de HttpServletRequest pour traiter l'authentification de base. Ce que j'ai est CXF endpoint et l'intercepteur auth de base. Le HttpServletRequest je reçois comme ceci:Obtenir le nom d'utilisateur et mot de passe de HttpServletRequest

public void handleMessage(Message message)    
     throws Fault { 
    HttpServletRequest request = (HttpServletRequest) message.get(AbstractHTTPDestination.HTTP_REQUEST); 

} 

Quand j'ai essayé de déboguer le code et je vois que:

request.getAuthType() is null 
request.getRemoteUser() is null 

Le nom d'utilisateur et mot de passe que je vous envoie à la demande de savon UI. Donc la question est comment puis-je obtenir le nom d'utilisateur et mot de passe de la demande?

EDIT

tête ressemble à ceci:

POST http://localhost:8011/GradIrelandUserRegistration HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml;charset=UTF-8 
SOAPAction: "" 
Authorization: Basic UGF1bGl1czpQYXVsaXVzMTIz 
Content-Length: 3170 
Host: localhost:8011 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.1.1 (java 1.5) 

Ils disent que l'autorisation est basique, mais alors pourquoi appeler request.getAuthType() est de retour nul?

+0

Avez-vous vérifié les en-têtes ou les paramètres? – heikkim

+0

J'ai modifié la question –

Répondre

2

J'ai été capable de me débrouiller. Soap UI Je avais besoin de changer le type d'authentification à:

Preemptive 

puis utilisez:

AuthorizationPolicy policy = (AuthorizationPolicy) message.get(AuthorizationPolicy.class.getName()); 

De l'objet de stratégie maintenant, je suis en mesure d'obtenir le nom d'utilisateur et mot de passe.

+0

Vous devez accepter votre réponse. :) –

+0

Je voudrais quand je peux. Seulement en deux jours: D –

+0

Lisez ceci pour Pourquoi: http: //meta.stackexchange.com/questions/6044/why-must-i-wait-2-days-before-accepting-my-own-answer ..: ré –

Questions connexes