![]() |
|
Использование стороннего web-сервиса 1с-кой | ☑ | ||
---|---|---|---|---|
0
Kropa
27.09.11
✎
20:11
|
Есть web-сервис, которому на вход нужно дать XML. Сервис проверенный из других программ, работает. я пишу примерно следующий код:
Определения = Новый WSОпределения("http://blabla/BizTalkService_Proxy/BizTalkService_BizTalk_Orchestration1_PortInput.asmx?wsdl"); Прокси = Новый WSПрокси(Определения, "http://blabla/BizTalkService_Proxy", "BizTalkService_BizTalk_Orchestration1_PortInput", "BizTalkService_BizTalk_Orchestration1_PortInputSoap"); ТипВходногопараметра = Прокси.ФабрикаXDTO.Тип("http://BizTalkService.SchemaRequest","Root"); Сотр = Прокси.ФабрикаXDTO.Создать(ТипВходногопараметра); Сотр.FirstName = ИмяСотрудника; Сотр.LastName = ФамилияСотрудника; Сотр.IDNumber = ИДСотрудника; Сотр.Birthday = ДатаРождения; Сотр.Position = Должность; Ответ = Прокси.Tranform(Сотр); На имя сервиса не обращаейте внимая, он автоматически згенерирован из приложения biztalk, но тем не менее это обычный Web-сервис. Проблема в том, что на вход web сервиса не передается требуемая xml - только заголовок. Кто работал с передачей ХМЛ параметров в сторонние web-сервисы? В чем может быть проблема? |
|||
1
Kropa
28.09.11
✎
11:13
|
Подниму ветку, видно веб-сервисы не очень популярны в среде 1с-ников.
|
|||
2
Serginio1
28.09.11
✎
12:21
|
Если прокатывает запись в Сотр. Значит 1С разобрала типы объектов.
Проверь что показывает ПоказатьОбъектПоФабрике(Прокси.ФабрикаXDTO,Сотр) Процедура ПоказатьОбъектПоФабрике(Фабрика,ОтветТаблицаЦен) ЗаписьХМЛ= новый ЗаписьXML; ЗаписьХМЛ.УстановитьСтроку(); Фабрика.записатьXML(ЗаписьХМЛ,ОтветТаблицаЦен); //записатьXML(ЗаписьХМЛ,ОтветТаблицаЦен); текст=Новый ТекстовыйДокумент; Текст.УстановитьТекст(ЗаписьХМЛ.Закрыть()); Текст.Показать(); КонецПроцедуры |
|||
3
Kropa
28.09.11
✎
16:45
|
Спасибо.
Смотрю процедурой на передаваемый параметр: <Tranform xmlns="http://blabla/BizTalkService_Proxy" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Root xmlns="http://BizTalkService.SchemaRequest"> <FirstName>qwqe</FirstName> <LastName>qweqwe</LastName> <IDNumber>15</IDNumber> <Birthday>2011-09-28</Birthday> <Position>qweqe</Position> </Root> </Tranform> На входе веб-сервиса (Body) <Root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://BizTalkService.SchemaRequest"> <IDNumber xmlns="">0</IDNumber> <Birthday xmlns="">0001-01-01</Birthday> </Root> |
|||
4
Serginio1
28.09.11
✎
16:58
|
А пробовал через WS-ссылку?
|
|||
5
Kropa
28.09.11
✎
17:00
|
Причем если SOAP запрос к сервису выглядит следуюющим образом (Не только body, полный запрос)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:biz="http://192.168.242.15:2999/BizTalkService_Proxy" xmlns:biz1="http://BizTalkService.SchemaRequest"> <soapenv:Header/> <soapenv:Body> <biz:Tranform> <biz1:Root> <FirstName>Ivan</FirstName> <LastName>ivanovich</LastName> <IDNumber>14</IDNumber> <Position>emploe</Position> </biz1:Root> </biz:Tranform> </soapenv:Body> </soapenv:Envelope> То все работает верно. |
|||
6
Kropa
28.09.11
✎
17:01
|
Не пробовал, спасибо попробую.
Хотя там же вроде тоже самое... |
|||
7
Serginio1
28.09.11
✎
17:30
|
Это все таки на стороне сервера проблемы. Я с несколькими сервисами через 1С работаю все впорядке
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |