Имя: Пароль:
1C
1С v8
Подключение к веб сервису
0 Amfiaray
 
27.01.15
06:38
Доброе утро!
На 1С 8.3 создал веб сервис, опубликовал его, создал клиентские сертификаты. При подключении к веб сервису через браузер проходит запрос сертификата, потом запрос логина пароля от базы и выдает страницу с текстом XML. А вот при запросе на php с сайта выходит ошибка: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://**.**.***.***/DataExchange/ws/DataE?wsdl' : failed to load external entity "https://**.**.***.***/DataExchange/ws/DataE?wsdl";
#0 /home/bitrix/www/ru/personal_account/1c8-test-connect.php(23): SoapClient->SoapClient('https://**.**...', Array) #1 {main}

Текст запроса:
ini_set("soap.wsdl_cache_enabled", "0");
$wsdl_url="https://**.**.***.***/DataExchange/ws/DataE?wsdl";;
$login = 'lctest';
$password = '*******';
$service_location='https://**.**.***.***/DataExchange/ws/DataE';
$service_uri='https://**.**.***.***/DataExchange/ws/DataE';
$local_cert = "/home/bitrix/www/ru/personal_account/client.pfx";
try
{
//не-WSDL

$options = array('login'=>$login,
     'passphrase'=>$password,
     'local_cert'=>$service_location,
     'uri'=>$service_uri,
     'authentication'=>'SOAP_AUTHENTICATION_DIGEST',
     'trace' => true,
     'exceptions' => true,
     'cache_wsdl' => 'WSDL_CACHE_NONE',
     /*'soap_version' => 'SOAP_1_1'*/);
    
try { $client = new SoapClient($wsdl_url, $options); }
catch (Exception $e) { print"Ошибка создания объекта SOAP:<br>".$e->getMessage()."<br>".$e->getTraceAsString(); }


}
catch (Exception $e)
{
print "Ошибка работы с SOAP:<br>".$e->getMessage()."<br>".$e->getTraceAsString();
}

Кто работал с веб сервисами подскажите где порыться
1 Amfiaray
 
27.01.15
08:07
Ребят, что никто не работал с веб сервисами?
2 Лодырь
 
27.01.15
08:38
(1) Думаю что тут проблема не на стороне 1С
3 tridog
 
27.01.15
08:56
(0) Couldn't load from 'https://**.**.***.***/DataExchange/ws/DataE?wsdl"; target="_blank" rel="nofollow" class="extralink">https://**.**.***.***/DataExchange/ws/DataE?wsdl' : failed to load external entity "https://**.**.***.***/DataExchange/ws/DataE?wsdl";

А эта схема действительно недоступна (например, из браузера)?
4 Asmody
 
27.01.15
09:17
возможно, не хватает опции local_cert
5 Amfiaray
 
27.01.15
09:20
(3) из браузера открывается, с запросом сертификата и логин пароля, потом выходит схема XML
6 tridog
 
27.01.15
10:51
(5) Тогда дело скорее всего в пехапе - оно ведь тоже должно предоставить сертификат и логин / пароль. Уверены, что это происходит корректно.

Вообще, я бы поставил что-нить типа fiddler и посмотрел на код и тело ответа от веб-сервера (на котором опубликован веб-сервис). Там как правило будет причина отклонения запроса.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.