Заголовок HTTP длины содержимого WCF в исходящем сообщении

Я нахожусь в сложной ситуации, когда конечной точке веб-службы Java, размещенной на IBM HTTP Server (IHS), требуется заголовок Content-Length, хотя он предположительно соответствует HTTP / 1.1. Если я отправляю шапку, все работает. Если я отключу его, я получу ответ 500 об ошибке, сообщающий, что мое тело сущности POST было пустым (даже если это не так).

Мы потратили значительное время на наш клиент WCF для этих сервисов (разработанный третьей стороной), и я не могу найти хороший способ добавить заголовок Content-Length к запросу. Я могу добавить произвольные заголовки (например, X-Dan-Lynn-Header) к запросу, используя IClientMessageInspector, как описано всообщения в блоге, как это, но WCF, кажется, игнорирует заголовок Content-Length.

Мои варианты:

а) выяснить, как заставить WCF добавить заголовок Content-Length в запрос HTTP POST или,

б) найти или написать чрезвычайно простой, но прозрачный HTTP-прокси, который украшает запрос заголовком Content-Length.

Спасибо!

Пример IClientMessageInspector.BeforeSendRequest:

public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
    var buffer = request.CreateBufferedCopy(Int32.MaxValue);
    var tempRequest = buffer.CreateMessage();


    HttpRequestMessageProperty httpRequest = GetHttpRequestProp(tempRequest);
    if (httpRequest != null)
    {
        if (string.IsNullOrEmpty(httpRequest.Headers[HttpRequestHeader.ContentLength]))
        {
            httpRequest.Headers.Add(HttpRequestHeader.ContentLength, GetMessageLength(buffer).ToString());
            httpRequest.Headers.Add("X-Dan-Lynn-Header", "abcdefghijk");
        }

    }

    request = tempRequest;
    request.Properties[HttpRequestMessageProperty.Name] = httpRequest;

    return null;
}

Пример запроса, сгенерированного WCF (и предшествующим IClientMessageInspector):
POST /path/to/service HTTP/1.1
Content-Type: text/xml; charset=utf-8
X-Dan-Lynn-Header: abcdefghijk
SOAPAction: "http://tempuri.org/path/to/service/action"
Host: service.host.tld
Transfer-Encoding: chunked
Connection: Keep-Alive


<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        .......body removed for clarity......

    </s:Body>
</s:Envelope>