Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mauricio Vargas

[Resolvido] Como setar um endpoint diferente em requisição SOAP

Recommended Posts

Olá,

 

Estou trabalhando pela primeira vez com Webservice e já to me quebrando.

Estou tentando usar o nuSoap como me indicaram e to tendo um grande problema, que é:

Quando acesso o WSDL remoto do meu cliente, vejo la no final do xml que ele está setando os ENDPOINT para um servidor local 192.168.x.x (local no servidor).

Por motivos de dele, ele me disse q não podia modificar isso, mas que eu podia modificar o endpoint para acessar via http://www.xxx.com.br, que é o dominio dele.

Gostaria de saber como envio o xml pra esse webservice, setando o endpoint que ele me falou, e receber o xml de resposta.

 

Via SoapUI eu consigo editar o endpoint e enviei/recebi tudo certinho, ou seja, ta funcionando, só queria saber como fazer via php agora.

 

Edit: Ah sim, e o cliente me informou que este WS não aceita requisições GET apenas POST.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

$SOAP = curl_init(); 
$XML = '...'; // Seu XML
$Headers = Array( 'Content-Type: text/xml; charset=utf-8', 
                 'Content-Length: '.strlen( $XML ));
curl_setopt($SOAP, CURLOPT_URL, 'url' );   // URL pra onde você quer mandar a requisição
curl_setopt($SOAP, CURLOPT_RETURNTRANSFER, true );
curl_setopt($SOAP, CURLOPT_SSL_VERIFYPEER, false); #Não verificar por certificado SSL  
curl_setopt($SOAP, CURLOPT_SSL_VERIFYHOST, false); #Não verificar SSL No Servidor
curl_setopt($SOAP, CURLOPT_POST, true ); 
curl_setopt($SOAP, CURLOPT_POSTFIELDS, $XML ); 
curl_setopt($SOAP, CURLOPT_HTTPHEADER, $Headers); 
curl_setopt($SOAP, CURLOPT_USERPWD, Usuario:Password, Se o SOAP Neccessitar de uma Autenticação );
echo curl_exec($SOAP); // Imprime a resposta do Servidor

 

... :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

$SOAP = curl_init(); 
$XML = '...'; // Seu XML
$Headers = Array( 'Content-Type: text/xml; charset=utf-8', 
                 'Content-Length: '.strlen( $XML ));
curl_setopt($SOAP, CURLOPT_URL, 'url' );   // URL pra onde você quer mandar a requisição
curl_setopt($SOAP, CURLOPT_RETURNTRANSFER, true );
curl_setopt($SOAP, CURLOPT_SSL_VERIFYPEER, false); #Não verificar por certificado SSL  
curl_setopt($SOAP, CURLOPT_SSL_VERIFYHOST, false); #Não verificar SSL No Servidor
curl_setopt($SOAP, CURLOPT_POST, true ); 
curl_setopt($SOAP, CURLOPT_POSTFIELDS, $XML ); 
curl_setopt($SOAP, CURLOPT_HTTPHEADER, $Headers); 
curl_setopt($SOAP, CURLOPT_USERPWD, Usuario:Password, Se o SOAP Neccessitar de uma Autenticação );
echo curl_exec($SOAP); // Imprime a resposta do Servidor

 

... :P

 

 

Andrey Knupp, eu te amo.

 

aheuaheu brincadeiras a parte, funcionou perfeito.

Não tem noção do quanto me matei pra fazer isso.. nossa, bom demais...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.