Ошибка подключения при доступе к веб-службе на Shared Hosting с использованием PHP Soap

Я пытаюсь получить доступ к веб-сервису, используя PHP и SOAP (точнее, библиотеку NuSoap), но продолжаю нажимать следующую ошибку:

HTTP Error: Couldn't open socket connection to server http://rsvpdb01/CRMWebService prior to connect(). This is often a problem looking up the host name.

При локальном доступе к этой службе было необходимо изменить мой файл hosts, чтобы перенаправить IP-адрес в расположение "rsvpdb01", однако я не уверен, как сделать то же самое на веб-сервере (или если это действительно решит проблему),

Основы моего сценария:

<?php
// Pull in the NuSOAP code
require_once('nusoap/lib/nusoap.php');
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);

// Create the client instance
$action_authenticate = array('Action'=> 'http://tempuri.org/ICRMWebServiceAPI/AuthenticateUser');
$client = new SoapClient('http://81.144.199.11/CRMWebService?wsdl',$action_authenticate);
$client->soap_defencoding = 'UTF-8';

// Call the SOAP method
$result = $client->call('AuthenticateUser', array('Username' => 'username', 'Password' => 'password'));

// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';

// Check for a fault
if ($client->fault) {
    echo '<p><b>Fault: ';
    print_r($result);
    echo '</b></p>';
} else {

    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error

        echo '<p><b>Error: ' . $err . '</b></p>';
    } else {

        // Display the result
        print_r($result);
    }
}
?>

Кто-нибудь может пролить свет на это?

1 ответ

Решение

Проблема заключалась в том, что веб-служба указывала на локальный компьютер, и мой сервер не мог преобразовать этот физический адрес с IP-адреса, который мне нужно было использовать для подключения.

Мне пришлось запросить root-доступ на моем хост-сервере, чтобы я мог отредактировать файл 'hosts' с IP-адресом для локальной машины, это было просто добавить:

123.456.5.1 xxxdb01

Другие вопросы по тегам