Como incluir header ao SOAP PHP?
Eu preciso me consumir um webservice cujo o envelope é o sequinte:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:int="https://www5.oab.org.br/integracao/">
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<token xmlns="http://CFOAB.Integracao">xxxxxxxxxx</token>
<wsa:To>https://www5.oab.org.br/Integracao/CNA.svc</wsa:To>
</soap:Header>
<soap:Body>
<int:AdvogadoRegular>
<!--Optional:-->
<int:cpf>99999999999</int:cpf>
</int:AdvogadoRegular>
</soap:Body>
</soap:Envelope>
Abaixo segue o PHP onde eu tento fazer o acesso ao web service
// WSDL
$client = new SoapClient('https://www5.oab.org.br/Integracao/CNA.svc?wsdl', $options = array(
'soap_version' => SOAP_1_2,
'trace'=>1,
'exceptions'=> 0
));
// NOME DA FUNÇÃO A SER EXECUTADA
$function = 'AdvogadoRegular';
// PARÂMETROS DA FUNÇÃO A SER EXECUTADA
$arguments= array('AdvogadoRegular' => array( 'cpf' => '99999999999' ));
// URL DO WEB SERVICE
$options = array('location' => 'https://www5.oab.org.br/Integracao/CNA.svc');
// HEADER
$token = array(
'token'=> 'xxxxxxxxxx',
'wsa:To'=>'https://www5.oab.org.br/Integracao/CNA.svc',
);
$header = new SoapHeader("http://CFOAB.Integracao",'token',$token,false);
$client->__setSoapHeaders($header);
// EXECUTA A FUNÇÃO
$result = $client->__soapCall($function, $arguments, $options);
echo $result;
Porém resulta em erro.
Acho que estou enviando o HEADER de forma incorreta.
Alguém pode me ajudar com isso??
Abraços
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:int="https://www5.oab.org.br/integracao/">
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<token xmlns="http://CFOAB.Integracao">xxxxxxxxxx</token>
<wsa:To>https://www5.oab.org.br/Integracao/CNA.svc</wsa:To>
</soap:Header>
<soap:Body>
<int:AdvogadoRegular>
<!--Optional:-->
<int:cpf>99999999999</int:cpf>
</int:AdvogadoRegular>
</soap:Body>
</soap:Envelope>
Abaixo segue o PHP onde eu tento fazer o acesso ao web service
// WSDL
$client = new SoapClient('https://www5.oab.org.br/Integracao/CNA.svc?wsdl', $options = array(
'soap_version' => SOAP_1_2,
'trace'=>1,
'exceptions'=> 0
));
// NOME DA FUNÇÃO A SER EXECUTADA
$function = 'AdvogadoRegular';
// PARÂMETROS DA FUNÇÃO A SER EXECUTADA
$arguments= array('AdvogadoRegular' => array( 'cpf' => '99999999999' ));
// URL DO WEB SERVICE
$options = array('location' => 'https://www5.oab.org.br/Integracao/CNA.svc');
// HEADER
$token = array(
'token'=> 'xxxxxxxxxx',
'wsa:To'=>'https://www5.oab.org.br/Integracao/CNA.svc',
);
$header = new SoapHeader("http://CFOAB.Integracao",'token',$token,false);
$client->__setSoapHeaders($header);
// EXECUTA A FUNÇÃO
$result = $client->__soapCall($function, $arguments, $options);
echo $result;
Porém resulta em erro.
Acho que estou enviando o HEADER de forma incorreta.
Alguém pode me ajudar com isso??
Abraços
comentários (0)
suspender
Lista de Respostas:
Nenhuma resposta foi publicada ainda.