1

我们正在尝试使用 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 对象来设置传输协议,但还没有成功。:(

4

1 回答 1

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);
于 2009-11-06T06:39:38.027 回答