Hi,

Wir haben hier ein spezielles Problem. Wir nutzen Perl und SOAP::Lite um ein SOAP Server als CGI Script zu realisieren.

Wenn ich nun ein SOAP Call absetze und nutze ein apache 1.3, dann kriege ich folgende ANtwort:

Date: Thu, 07 Dec 2006 17:11:42 GMT
Server: Apache
Content-Length: 3419
SOAPServer: SOAP::Lite/Perl/0.69
Connection: close
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:ecceroma="http://ecceroma.ecce-terram.de/ECCEROMAServer";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><getUs
erDataResponse
xmlns="http://ecceroma.ecce-terram.de/ECCEROMAServer";><errors
xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="ecceroma:Error[0]"
/><outParameters xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="ecceroma:Parameter[19]">
...
<key xsi:type="xsd:string">Ecom_ShipTo_Postal_City</key><value
xsi:type="xsd:string">CONTENTDATA</value></item>

CONTENTDATA sind Textdaten. Die beinhalten Umlaute, die sind auch korrekt UTF-8 codiert.

Nun ersetze ich apache1.3 durch apache2.0 bzw. 2.2. Sonst bleibt alles gleich. DIe Konfiguration ist nahe an den Defaults. Auch Zusatzmodule wie mod_perl oder fastcgi werden nicht genutzt.

Nun stelle ich haargenau die selbe Anfrage und erhalte folgende Antwort:

Date: Thu, 07 Dec 2006 17:14:44 GMT
Server: Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7d
SOAPServer: SOAP::Lite/Perl/0.69
Content-Length: 3419
Connection: close
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:ecceroma="http://ecceroma.ecce-terram.de/ECCEROMAServer";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><getUs
erDataResponse
xmlns="http://ecceroma.ecce-terram.de/ECCEROMAServer";><errors
xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="ecceroma:Error[0]"
/><outParameters xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="ecceroma:Parameter[19]">
...
<key xsi:type="xsd:string">Ecom_ShipTo_Postal_City</key><value
xsi:type="xsd:string">CONTENTDATA</value></item>

NUN sind die Textdaten in ISO-LATIN1 codiert. Es ist sonst real nichts anders. Der einzige Unterschied ist Apache 2 statt 1.3.

Mir sind absolut die Ideen ausgegangen. Nur das AddDefaultCharset hier nichts mit zu tun hat, bin ich inzwischen durch Tests sicher.

Hat jemand eine Idee ?

Terra
--
ECCE TERRAM Internet Services GmbH               Tel:   0441 500 120
An der grossen Wisch 36                          Fax:   0441 500 1229
26133 Oldenburg
Ex Astris Scientia



--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED]
          sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------

Antwort per Email an