Boa tarde a todos, Estou trabalhando com um WebService, que foi criado em .NET, e preciso acessar suas informações através de PHP. Estou usando a biblioteca NuSOAP, até porque foi a única que eu consegui alguma resposta do WebService e como o servidor não foi criado por ninguém da minha equipe, tenho acesso limitado às configurações. A autenticação está com o protocolo "BASIC" porque pedimos para os admnistradores do servidor liberarem esse protocolo. De qualquer forma, ele retorna erros de servidor (erros 401.2 e erro 500). Se eu coloco a URL na barra de endereço do navegador e entro com o usuário e senha eu consigo ver o retorno, porém pelo retorno do webservice, ele só retorna esse tipo de erro, com alguns erros de autenticação no log. Segue abaixo o código: <?php
require_once("nusoap.php");
function ddebug() {
global $client;
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
}
# variables
# ---------
$wsdl = 'http://xxx.xxxxxxxxx.xxxxx/xxxxxxxxxxxx/GetAlunos.asmx?wsdl';
$ws_auth_user = 'xxxxxxxxxxx';
$ws_auth_pass = 'xxxxxxxxxxx';
$ws_auth_method = 'basic'; # '' or 'basic' or 'digest' or 'ntlm' (lowercase!!)
# client call
# -----------
$client = new soapclient($wsdl,'wsdl');
$client->setCredentials($ws_auth_user,$ws_auth_pass,$ws_auth_method);
# ws call
# -------
$param = array();
$result = $client->call('GetAlunos');
# debug
# -----
ddebug();
# ws result
# ---------
$ws_result = $result['WS_actionResult'];
?>