PHP soapClient sendet benutzerdefiniertes XML

Ich versuche, eine SOAP-Anfrage mit der soapClient-Klasse von PHP zu stellen. Das ist mein Code:

$xmlstr = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://localhost:8090/mockCustomerManagement/types">
   <soapenv:Header>
      <typ:customerManagementHeader>
         <typ:userId>42</typ:userId>
         <typ:requestId>1500</typ:requestId>
         <typ:messageTimestamp>2013-09-25T14:31:21+00:00</typ:messageTimestamp>
      </typ:customerManagementHeader>
   </soapenv:Header>
   <soapenv:Body>
      <typ:getCustomerInfoData>
         <useremail>[email protected]</useremail>
      </typ:getCustomerInfoData>
   </soapenv:Body>
</soapenv:Envelope>
XML;

$wsdl = 'http://localhost:8090/mockCustomerManagementSoapHttpBinding?WSDL';
$client = new SoapClient($wsdl, array(
    'cache_wsdl'    => WSDL_CACHE_NONE, 
    'cache_ttl'     => 86400, 
    'trace'         => true,
    'exceptions'    => true,
));

$xmlVar = new SoapVar($xmlstr, XSD_ANYXML);
$client->getCustomerInfo($xmlstr);

Aber die Anfrage löst eine Ausnahme für mich aus und wenn ich den Client nach der letzten Anfrage frage, wird am Anfang und am Ende meiner XML-Datei ein zusätzlicher Text angezeigt, wie Sie sehen können:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost:8090/mockCustomerManagement/types">
<SOAP-ENV:Body>

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://localhost:8090/mockCustomerManagement/types">
   <soapenv:Header>
      <typ:customerManagementHeader>
         <typ:userId>42</typ:userId>
         <typ:requestId>1500</typ:requestId>
         <typ:messageTimestamp>2013-09-25T14:31:21+00:00</typ:messageTimestamp>
      </typ:customerManagementHeader>
   </soapenv:Header>
   <soapenv:Body>
      <typ:getCustomerInfoData>
         <useremail>[email protected]</useremail>
      </typ:getCustomerInfoData>
   </soapenv:Body>
</soapenv:Envelope>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Gibt es eine Möglichkeit, diesen zusätzlichen Text zu löschen / zu deaktivieren? Mit anderen Worten, gibt es eine Möglichkeit, nur mein XML zu senden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage