Aller au contenu | Aller au menu | Aller à la recherche


AXIS lire un paramètre dans l'URL envoyé par le client, ou bien son IP

Comment faire un simple HttpServletRequest.getParameter("monParametreAlire"); avec Axis pour récupérer la valeur de http://mon.serveur.com/monDossier/monWebService?monParametreAlire=maValeur

Également, comment récupérer l'adresse IP du client appelant le WS ?

Lire des paramètres GET lors d'un appel WS AXIS

Vous pouvez par exemple dans votre Skeleton rajouter :

HttpServletRequest httpServletRequest = (HttpServletRequest) 
MessageContext.getCurrentContext().getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
		System.out.println("monParametreAlire:"+httpServletRequest.getParameter("monParametreAlire"));

qui vous retournera :

[STDOUT] monParametreAlire:maValeur

Pour obtenir d'autres classes voyez les valeurs de org.apache.axis.transport.http.HTTPConstants telles que

Et lisez la note du guide AXIS Classes to Know

Obtenir l'IP du client

// basé sur Axis 1.1
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;
...
...
public class UnService
 
 public string UneMethod(String uneEntree)
{
 
MessageContext context = MessageContext.getCurrentContext();
String adresseIp = (String) context.getProperty(HTTPConstants.MC_REMOTE_ADDR);
}
// basé sur Axis 1.3
import org.apache.axis.Constants;
import org.apache.axis.MessageContext;
 
....
....
MessageContext messageContext = MessageContext.getCurrentContext();
String adresseIp = messageContext.getStrProp(Constants.MC_REMOTE_ADDR);

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet