PHP soapClient enviar XML personalizado
Eu estou tentando fazer uma solicitação SOAP usando a classe soapClient do PHP que é o meu código:
$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);
Mas o pedido me lança uma exceção e quando eu pergunto ao cliente para a última solicitação, ele mostra algum texto extra no início e no final do meu XML, como você pode ver:
<?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>
Há alguma maneira de excluir / desativar esse texto extra? Em outras palavras, existe uma maneira de enviar apenas meu XML?