Comment préserver le Contenu de l'en-tête de Type de Tomcat HTTP de la réponse envoyée par l'intermédiaire d'un connecteur AJP à l'utilisation de mod_proxy d'Apache

Je vais avoir un problème avec une mauvaise Réponse HTTP Content-Type la tête, alors que l'accès à une Axis2 service web hébergé dans Tomcat derrière Apache par le biais d'un AJP/1.3 connecteur.

Je peux accéder au service web sans problèmes dans le navigateur grâce à son interface RESTful et je peux voir les résultats, mais en quelque sorte Apache est en train de changer la réponse Content-Type en-tête envoyé par Tomcat à partir de text/xml à text/plain et il m'empêche de consommer le web service SOAP dans NetBeans, en raison d'une Unsupported Content-Type: text/plain Supported ones are: [text/xml] exception.

Voici la section pertinente de mes vhosts Apache configuration:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName  myserver.example
    ServerAlias other.myserver.example

    ProxyPreserveHost On 
    SetEnv force-proxy-request-1.0 1
    SetEnv proxy-nokeepalive 1

    <Location /axis2/services>
        ProxyPass ajp://localhost:8009/axis2/services
        ProxyPassReverse ajp://localhost:8009/axis2/services
    </Location>
</VirtualHost>

Et la section pertinente de mon Tomcat server.xml:

<Connector port="8009" protocol="AJP/1.3" redirectPort="9443" />

<Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    SSLCertificateFile="path/to/bundle" 
    SSLCertificateKeyFile="path/to/key"
    SSLPassword="S3cr3t"
    proxyName="myserver.example" proxyPort="443" />

Si j'ai accès à la WS directement dans Tomcat à l'aide de l'opérateur par défaut sur le port 8080-je obtenir la bonne content-type mais si j'y accéder via Apache puis-je obtenir text/plain, de sorte qu'il est certainement un problème avec le serveur proxy.

Comment puis-je résoudre ce problème?

EDIT: je l'ai eu à travailler en utilisant le Tomcat HTTP connecteur pour la transmission par proxy, au lieu de l'AJP, mais je préfère utiliser mod_ajp si je trouve une solution de travail.

Je viens de changer le

ProxyPass ajp://localhost:8009/axis2/services
ProxyPassReverse ajp://localhost:8009/axis2/services

lignes de

ProxyPass http://localhost:8080/axis2/services
ProxyPassReverse http://localhost:8080/axis2/services
markmail.org/message/... semble liée à votre problème
Oui, c'est le même problème et j'ai déjà trouvé quelques archives d'e-mails comme celui-là à partir de 2007, avant de poster la question ici, mais je n'arrive toujours pas à trouver une solution à ce problème.

OriginalL'auteur tsbnunes | 2010-08-03