|
web сервисы. Ошибка при работе с Soap клиентом | ☑ | ||
---|---|---|---|---|
0
Nikulin
22.06.12
✎
13:07
|
Всем привет!
2-й день долблюсь. приведу сразу ругань из апачи: [Fri Jun 22 12:49:16 2012] [error] [client 127.0.0.1] PHP Warning: SoapClient::SoapClient(http://localhost/ws/ostatok_tovara?wsdl) [<a href='soapclient.soapclient'>soapclient.soapclient</a>]: failed to open stream: \xcf\xee\xef\xfb\xf2\xea\xe0 \xf3\xf1\xf2\xe0\xed\xee\xe2\xe8\xf2\xfc \xf1\xee\xe5\xe4\xe8\xed\xe5\xed\xe8\xe5 \xe1\xfb\xeb\xe0 \xe1\xe5\xe7\xf3\xf1\xef\xe5\xf8\xed\xee\xe9, \xf2.\xea. \xee\xf2 \xe4\xf0\xf3\xe3\xee\xe3\xee \xea\xee\xec\xef\xfc\xfe\xf2\xe5\xf0\xe0 \xe7\xe0 \xf2\xf0\xe5\xe1\xf3\xe5\xec\xee\xe5 \xe2\xf0\xe5\xec\xff \xed\xe5 \xef\xee\xeb\xf3\xf7\xe5\xed \xed\xf3\xe6\xed\xfb\xe9 \xee\xf2\xea\xeb\xe8\xea, \xe8\xeb\xe8 \xe1\xfb\xeb\xee \xf0\xe0\xe7\xee\xf0\xe2\xe0\xed\xee \xf3\xe6\xe5 \xf3\xf1\xf2\xe0\xed\xee\xe2\xeb\xe5\xed\xed\xee\xe5 \xf1\xee\xe5\xe4\xe8\xed\xe5\xed\xe8\xe5 \xe8\xe7-\xe7\xe0 \xed\xe5\xe2\xe5\xf0\xed\xee\xe3\xee \xee\xf2\xea\xeb\xe8\xea\xe0 \xf3\xe6\xe5 \xef\xee\xe4\xea\xeb\xfe\xf7\xe5\xed\xed\xee\xe3\xee \xea\xee\xec\xef\xfc\xfe\xf2\xe5\xf0\xe0.\r\n in C:\\www\\test.php on line 28, referer: http://localhost/test.php [Fri Jun 22 12:49:16 2012] [error] [client 127.0.0.1] PHP Warning: SoapClient::SoapClient() [<a href='soapclient.soapclient'>soapclient.soapclient</a>]: I/O warning : failed to load external entity "http://localhost/ws/ostatok_tovara?wsdl" in C:\\www\\test.php on line 28, referer: http://localhost/test.php [Fri Jun 22 12:49:16 2012] [error] [client 127.0.0.1] PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost/ws/ostatok_tovara?wsdl' : failed to load external entity "http://localhost/ws/ostatok_tovara?wsdl"\n in C:\\www\\test.php on line 28, referer: http://localhost/test.php [Fri Jun 22 12:49:16 2012] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:\\www\\test.php on line 50, referer: http://localhost/test.php Я так понимаю что СОАП у меня работает это видно в пхпинфо. Вот код который приводит к этой ошибке: $client = new SoapClient("http://localhost/ws/ostatok_tovara?wsdl"); Также прбовал: $client = new SoapClient("http://localhost/ws/ostatok_tovara?wsdl", array('location'=>'http://localhost/ws/ostatok_tovara.1cws', 'login' => $username, 'password' => $password)); При этом если вызвать просто: http://localhost/ws/ostatok_tovara?wsdl то в браузере возникает описание веб сервиса. Подкажите куда копать чтобы исправить: при вызове моего C:\\www\\test.php браузер 30 секунд думает и после этого ничего не происходит. Спасибо! |
|||
1
Nikulin
22.06.12
✎
13:11
|
Вообще не понятно что в ругане приоритетно
толи "failed to open stream" из первой ошибки толи всеже " failed to load external entity " все 4 строки озникают по истечении 30 секунд. Но в лбм случае не наю куда копать =( |
|||
2
Nikulin
22.06.12
✎
13:13
|
Уточню.
Апач установлен на виндовс7 делаю все локально. Ставилось все отдельно (в дэнвере у меня 1с не увидила вэб сервер) |
|||
3
Fragster
гуру
22.06.12
✎
13:14
|
веб сервисы 1с слабо совместимы с 1с. сейчас пилю класс для работы нормальной, но оччччень медленно :)
|
|||
4
Fragster
гуру
22.06.12
✎
13:14
|
*php
|
|||
5
Nikulin
22.06.12
✎
13:17
|
А имеет значение что у меня :
http://localhost/ws/ostatok_tovara?wsdl Показывает описание сервиса а: http://localhost/ws/ostatok_tovara.1cvs?wsdl ругается что : Сервис не найден. An error occurred processing this request. хотя во многих примерах вижу второй вариант... |
|||
6
Nikulin
22.06.12
✎
13:19
|
приведу полностью описание сервиса которое выдается.
Чтото оно слишком большое для такого простого сервиса. и не нравится что там сразу чтото про Soap сказано... <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://localhost" name="ostatok_tovara" targetNamespace="http://localhost"> <types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs1="http://localhost" targetNamespace="http://localhost" elementFormDefault="qualified"> <xs:element name="Getinfo"> <xs:complexType> <xs:sequence> <xs:element name="Param" type="xs:string" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GetinfoResponse"> <xs:complexType> <xs:sequence> <xs:element name="return" type="xs:string" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </types> <message name="GetinfoRequestMessage"> <part name="parameters" element="tns:Getinfo"/> </message> <message name="GetinfoResponseMessage"> <part name="parameters" element="tns:GetinfoResponse"/> </message> <portType name="ostatok_tovaraPortType"> <operation name="Getinfo"> <input message="tns:GetinfoRequestMessage"/> <output message="tns:GetinfoResponseMessage"/> </operation> </portType> <binding name="ostatok_tovaraSoapBinding" type="tns:ostatok_tovaraPortType"> <soapbind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Getinfo"> <soapbind:operation style="document" soapAction="http://localhost#ostatok_tovara:Getinfo"/> <input> <soapbind:body use="literal"/> </input> <output> <soapbind:body use="literal"/> </output> </operation> </binding> <binding name="ostatok_tovaraSoap12Binding" type="tns:ostatok_tovaraPortType"> <soap12bind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Getinfo"> <soap12bind:operation style="document" soapAction="http://localhost#ostatok_tovara:Getinfo"/> <input> <soap12bind:body use="literal"/> </input> <output> <soap12bind:body use="literal"/> </output> </operation> </binding> <service name="ostatok_tovara"> <port name="ostatok_tovaraSoap" binding="tns:ostatok_tovaraSoapBinding"> <documentation> <wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" conformsTo="http://ws-i.org/profiles/basic/1.1"/> </documentation> <soapbind:address location="/ws/ws/ostatok_tovara"/> </port> <port name="ostatok_tovaraSoap12" binding="tns:ostatok_tovaraSoap12Binding"> <soap12bind:address location="/ws/ws/ostatok_tovara"/> </port> </service> </definitions> |
|||
7
Fragster
гуру
22.06.12
✎
13:20
|
вот это фигня какая-то: <soapbind:operation style="document" soapAction="http://localhost#ostatok_tovara:Getinfo"/>
|
|||
8
Nikulin
22.06.12
✎
13:20
|
или в (6) все нормально?
|
|||
9
Nikulin
22.06.12
✎
14:46
|
(7) а как эту фигню убрать? может из за этого и соап библиотека не рабоатет...
|
|||
10
Nikulin
22.06.12
✎
15:17
|
спецыыыы есть? =)
или просто люди добрые поможите! =)) |
|||
11
Nikulin
22.06.12
✎
16:30
|
не ужели все в пятничной ветке?
|
|||
12
Svirepy
22.06.12
✎
16:37
|
Попробуй лишний "ws" дописать
$client = new SoapClient("http://localhost/ws/ws/ostatok_tovara?wsdl"); типО так... |
|||
13
Nikulin
22.06.12
✎
17:02
|
(12) пробовал. (( тож самое.
Удалось расшифроать казябры в 1 сообщении. Они гласят следующее: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера |
|||
14
Nikulin
22.06.12
✎
17:39
|
Сравнил лог апача и журнал в 1с.
Соап не обращается в 1с. в журнале не отражается попытка коннекта сервиса. Хотя если на прямую то описание сервиса отображается в браузере. Что же не так. |
|||
15
Nikulin
22.06.12
✎
17:49
|
Ошибку авторизации исключил. Вообще поудалял всех пользователей.
*woll* |
|||
16
Nikulin
22.06.12
✎
18:06
|
Есть продвижки но опять воткнулся.
Думаю что наконецто СОП достучался до 1с Поменял порт на сервере (просто так..) и теперь вызываю по такой строке: $client = new SoapClient("http://127.0.0.1:8080/ws/ws/ostatok_tovara?wsdl"); $params["param"]="123456"; $result = $client->getinfo($params); ругается на последнюю строчку: $result = $client->getinfo($params); Вот таким матом. [Fri Jun 22 18:02:02 2012] [error] [client 127.0.0.1] PHP Fatal error: Uncaught SoapFault exception: [HTTP] Unable to parse URL in C:\\www\\test2.php:16\nStack trace:\n#0 [internal function]: SoapClient->__doRequest('<?xml version="...', '/ws/ws/ostatok_...', 'http://www.w3.o...', 1, 0)\n#1 C:\\www\\test2.php(16): SoapClient->__call('getinfo', Array)\n#2 C:\\www\\test2.php(16): SoapClient->getinfo(Array)\n#3 {main}\n thrown in C:\\www\\test2.php on line 16 Не соображу что бы это значило... |
|||
17
Nikulin
22.06.12
✎
18:07
|
т.е. 30 секундной паузы нет. результат ошибки парсинга выдается моментально.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |