我们正在尝试使用Axis2来调用无法使用HTTP / 1.1(Axis2中的默认传输协议)的Web服务。是否可以以编程方式将Axis2设置为使用HTTP / 1.0?我知道这可以通过配置文件来完成,但在我们的案例中,API使用将是更好的解决方案。
以下是我们正在使用的一些代码:
ServiceClient client = new ServiceClient();
Options opts = new Options();
opts.setTo(new EndpointReference(endpointAddress));
client.setOptions(opts);
我试图弄清楚我是否可以某种方式使用Options对象来设置传输协议,但是还没有成功。 :(
答案 0 :(得分:2)
好的,我对发送问题感到有点兴奋......我只是从Axis文档中了解到您可以使用以下代码设置HTTP版本:
options.setProperty(org.apache.axis2.context.MessageContextConstants.HTTP_PROTOCOL_VERSION,
org.apache.axis2.transport.http.HTTPConstants.HEADER_PROTOCOL_10);
并且由于MessageContextConstants.HTTP_PROTOCOL_VERSION似乎已被弃用,我可以使用以下内容:
opts.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);