Имя: Пароль:
1C
1С v8
проблема с web-сервисами
0 white_tiger
 
27.10.13
16:22
доброго времени суток всем! у меня возникла следующая проблема при создании WS-ссылки: в конфигураторе создается, но при проверке в режиме исполнения выдает ошибку:
{Обработка.пример.Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (СоздатьWSПрокси)
    ПроксиСервер = WSСсылки.WSСсылка2.СоздатьWSПрокси( "http://www.sample-package.org";, "WebService", " WebServiceSoap" );
по причине:
Порт не найден. {http://www.sample-package.org}:WebService: WebServiceSoap

прочитала кучу статей на форумах, в том числе и здесь, проверила регистр, с ним все нормально. подскажите, пожалуйста,а то руководитель меня морально съест(
1 Wobland
 
27.10.13
16:24
точка с запятой там точно надо?
2 white_tiger
 
27.10.13
16:38
"http://www.sample-package.org";,  там нет точки с запятой ни в конфигураторе,ни в ошибке
3 white_tiger
 
27.10.13
16:38
видно, в сообщении при отправке автоматом прибавляется
4 Serginio1
 
28.10.13
13:36
5 white_tiger
 
30.10.13
13:44
в версии 8.3 синтаксис: СоздатьWSПрокси(<URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяПорта>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>)
6 white_tiger
 
30.10.13
13:57
первые три параметра являются обязательными
7 white_tiger
 
04.11.13
21:09
здравствуйте еще раз.
в процессе создания WSпрокси возник следующий вопрос:

{Обработка.пример.Форма.Форма.Форма(15)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения("http://localhost:8080/WebServiceTest/WS/WebService?wsdl";, "Системный администратор", "");
по причине:
При создании описания сервиса произошла ошибка. http://Системный%20адм
8 white_tiger
 
04.11.13
21:10
9 white_tiger
 
04.11.13
21:11
код модуля следующий:

Процедура ИмпортВебСервис ()
    
Определения = Новый WSОпределения("http://localhost:8080/WebServiceTest/WS/WebService?wsdl";, "Системный администратор", "");
Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org","WebService";, " WebServiceSoap");
Прокси.Пользователь = "Системный администратор";
Прокси.Пароль = "";
РезультатыИмпорта = Прокси.Обмен();
КонецПроцедуры
10 Serginio1
 
05.11.13
10:25
Сделай пользователя без пробела.
11 white_tiger
 
05.11.13
19:55
(10) попробовала,выдает ту же ошибку
12 hhhh
 
05.11.13
20:27
(11) ну, про точку с запятой, уже говорили?
13 hhhh
 
05.11.13
20:28
и кавычки внутри кавычек.
14 white_tiger
 
05.11.13
20:42
"WebServiceSoap", там пробел был лишний...извиняюсь за свой чудовищный затуп(( кстати,кавычки добавляются сами при копировании сюда кода
15 white_tiger
 
05.11.13
20:43
теперь сообщает,что
{Обработка.пример.Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (Обмен)
РезультатыИмпорта = Прокси.Обмен();
по причине:
Ошибка вызова операции сервиса:  {http://www.sample-package.org}:WebService:Обмен()
по причине:
Ошибка SOAP сервера:  Обязательное возвращаемое значение не задано:  http://www.sample-package.org}:WebServiceSoapBinding:Обмен()
16 Serginio1
 
06.11.13
10:35
(14) Н так воспользовался бы ссылкой из 4.
ОпределениеТ=Новый WSОпределения(Имя_Файла_wsdl);
    WSСервис=ОпределениеТ.Сервисы[0];
    прокси=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя);

В твоем случае Имя_Файла_wsdl="http://localhost:8080/WebServiceTest/WS/WebService?wsdl";;

Так дай описании :  http://www.sample-package.org}:WebServiceSoapBinding:Обмен()

Проверь что возвращает функция например в SoapUI
17 white_tiger
 
06.11.13
21:35
в соапе при вводе ссылки просит атентификацию, при вводе данных выдает ошибку и не создает проект, пишет
Error loading [http://localhost:8080/WebServiceTest/ws/WebService?wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected element: CDAT
18 white_tiger
 
06.11.13
22:58
WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. - стабильно выдает соап после аутентификации
19 Serginio1
 
07.11.13
12:51
(18) Ты бы хоть WSDL выложил. Тут ясновидцев мало
20 white_tiger
 
07.11.13
17:44
http://localhost:8080/WebServiceTest/ws/WebService?wsdl - проверяю эту вс-ссылку в соапе, выдает приведенную выше ошибку. в браузере сообщает:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">;
<soap:Header/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>
Операция не найдена: {http://www.sample-package.org}:WebService:Обмен()
</faultstring>
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>

по-видимому,косяк в функции Обмен (), только непонятно,какой, код я сверяла со статьей,по которой делала
21 Serginio1
 
07.11.13
17:52
Ну так посмотри, что у тебя в отладчике. Проще вынести код в общий модуль, а из модуля вэб сервиса дергать эти методы  А при отладке можно дернуть метод из толстого клиента
22 Serginio1
 
07.11.13
17:54
Посмотри в Оладчике, что тебе Прокси выдает. Какие методы.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.