Problemas al consumir un Web Service desde un Axis2 client. Transport error: 501 Error: Not Implemented

En ocasiones es necesario crear clientes de Web Services que en su forma también sean Web Services, para “puentear” llamadas , debido a la falta de conectividad entre un sistema y otro. Por ejemplo, que se tenga que mandar llamar a un Web Service publicado en Internet, y tu plataforma de Middleware no tiene conexión. Ahí , una alternativa es colocar una pieza en medio del Servicio y el Middleware, que sirva como puente para poder establecer comunicación.
Resulta que en un caso en un cliente, se tenía justo ese escenario. Se debía consumir un Web Service desplegado en Internet, pero la plataforma de Oracle SOA Suite, no tenía comunicación hacia internet.

El Proceso BPEL es muy simple, sólo tiene que ir a recoger registros de una BBDD , y éstos enviarlos (uno a uno) al Web Service en cuestión.
Lo que se hizo , fue crear un cliente de Web Service con la tecnología AXIS2. Este cliente tenía la peculiaridad de ser un Web Service en sí, de manera que el Proceso BPEL lo consumiera, tal como si consumiera al Endpoint original. Este cliente, hecho en AXIS2, haría la llamada al Web Service en Internet, y regresaría la llamada al proceso.
El Servicio estaba funcionando bien, hasta que , al hacer unas pruebas, el cliente de Web Service empezó a contestar:
Unable to sendViaPost to url[http://maquina:puerto/contexto]
org.apache.axis2.AxisFault: Transport error: 501 Error: Not Implemented 
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:298) 
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:192) 
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77) 
Tardé un rato en ver qué significaba eso, pues el mismo cliente, montado en otro Tomcat, estaba funcionando sin problema. Lo único diferente es que la máquina dónde salía el error, para salir a internet, requiere de un Proxy.
Configuré lo propio para que Tomcat utilizara el Proxy, y lo mismo seguía saliendo. Finalmente di con el Problema , y todo indicaba que la llamada desde el cliente hacia el WS en internet, estaba siendo transportada por algún elemento que no soportaba HTTP 1.1.
Lo único que podía ser, es tal vez un Squid que se implementó en la red interna del cliente, y que no estaba entendiendo HTTP 1.1.
Después, di con este post http://wso2.org/library/209  Ahí claramente se explica cómo cambiar los datos de versión de HTTP, sea en Runtime, o bien en el lado del cliente, para causar cierta independencia.
Básicamente, si optas por cambiarlo en Runtime, lo que debes hacer es abrir el Archivo axis2.xml, que se encuentra en axis2\WEB-INF\conf, y editar la sección:
<transportSender name="http"
                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL">HTTP/1.1</parameter>
        <parameter name="Transfer-Encoding">chunked</parameter>
Lo mas simple es comentar el Transfer-Encoding, para que no sea chunked. Con esto debe funcionar.