我有一个在 TOMCAT 6.0.18 上运行的axis2 服务,带有axis2 1.3 版本。
我通过注释 transfer-encoding 元素禁用了分块,并将 HTTP 更改为 1.0,如下所示:
<transportSender name="http"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL">HTTP/1.0</parameter>
<!-- <parameter name="Transfer-Encoding">chunked</parameter> -->
我还在服务实现类中实现了 LifeCycle 接口。
下面是init()
方法代码:
public void init(ServiceContext arg0) throws AxisFault {
// TODO Auto-generated method stub
arg0.getConfigurationContext().setProperty(HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED,Boolean.FALSE);
arg0.getConfigurationContext().setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);
MessageContext responseMessageContext =
MessageContext.getCurrentMessageContext().getOperationContext().getMessageContext(
WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
responseMessageContext.setProperty(HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED,Boolean.FALSE);
responseMessageContext.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);
尽管进行了这些更改,但当我调用该服务时,我仍然看不到 HTTP 响应标头中的内容长度。有任何想法吗?