2009-11-06 4 views
1

Nous essayons d'utiliser Axis2 pour appeler un service Web qui ne peut pas utiliser HTTP/1.1 (protocole de transport par défaut dans Axis2). Est-il possible de définir par programme Axis2 pour utiliser HTTP/1.0? Je sais que cela peut être fait avec un fichier de configuration, mais dans notre cas, l'utilisation de l'API serait une bien meilleure solution.Pouvez-vous configurer Axis pour utiliser HTTP/1.0 par programmation?

est ici un code que nous utilisons:

ServiceClient client = new ServiceClient(); 
Options opts = new Options(); 
opts.setTo(new EndpointReference(endpointAddress)); 
client.setOptions(opts); 

J'ai essayé de savoir si je pouvais faire utiliser les options objet pour définir le protocole de transport, mais ne pas encore réussi. :(

Répondre

2

Ok, j'étais un peu déclencheur heureux avec l'envoi de la question ... Je trouve juste en dehors de la documentation Axis que vous pouvez définir la version HTTP avec le code suivant:

options.setProperty(org.apache.axis2.context.MessageContextConstants.HTTP_PROTOCOL_VERSION, 
org.apache.axis2.transport.http.HTTPConstants.HEADER_PROTOCOL_10); 

et comme MessageContextConstants.HTTP_PROTOCOL_VERSION semble être obsolète, je peux utiliser ce qui suit:

opts.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);