Сторонний Web сервис #706998


#0 by Zixxx
Есть сторонний сервис, на который тупо нужно отправить xml, если перейти по ссылке в браузере, то можно будет увидеть следующий текст. Message Servlet is in Status OK Status information: Classname ModuleProcessor: null Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean Lookupname for remoteModuleProcessorLookupName: null ModuleProcessorClass not instantiated ModuleProcessorLocal is Instance of com.sun.proxy.$Proxy541 ModuleProcessorRemote not instantiated Разработчики с той стороны говорят, что это всего лишь результат, что адрес правильный, и SAP PI слушает и ждет WS. Пробовал конечно же как-то умудриться отправить средствами 1с, но ничего не вышло, еще кинули wsdl его можно посмотреть по ссылку . Из него выдергивал методы, но все безуспешно, говорит нет такого сервиса. При создании определения, везде пустота Может кто в курсе что делать, куда копать, как это все работает?
#1 by Serginio1
Сохрани этот WSDL и загрузи в конфигуратор указав путь на этот файл. Либо
#2 by Zixxx
Вот что пишет... Неверный формат.
#3 by Serginio1
VS 2013 прекрасно его прочитала. Как альтернатива
#4 by Zixxx
У меня vs тоже нормально прочитать, но 1с по моему не читает какие-то типы массивов или чего-то там, может по этому :(. А есть пример обработки и компоненты, а то вообще не понятно с чего там начинать, куда что заворачивать и чем оборачивать
#5 by Serginio1
здесь компонента и описание. Здесь обсуждение и пример использования конфигурационного файла
#6 by Serginio1
Там внутри архива есть NetObjectToIDispatch.docx Нужные DLL. Запускаем РегистрацияКомСервера.exe и выбираем NetObjetToIDispatch45.dll которая лежит в DLLNetObjetToIDispatch45 Затем запускаем толстого клиента и ТестNetObjectToIDispatch.epf Для  тестов вэб сервисов (кнопки  «Тест вызова сервиса» и «Вызов сервиса используя config file») нужно выбрать Сборку ФайлыNetObjectToIDispatchСборкиДляТестов NestNet45.dll Для тестов событий применяется (кнопка «Тест отслеживания изменений в директории») Нужно Выбрать Сборку ФайлыNetObjectToIDispatchСборкиДляТестов ПроектИспользованияДелегатов.dll В поле Каталог для отслеживания изменений Выбрать путь для отслеживания изменений в текстовых файлах Для тестов загрузки без регистрации, информации о типе кнопки («Загрузка com объекта Без ПрогИД», «Загрузка com объекта Без ПрогИД», «Тест expando object») Выбираем Имя Файла сборки ФайлыNetObjectToIDispatchСборкиДляТестовЗагрузкаCOMОбъектаБезРегистрации.dll Выбираем НадписьКаталогОтличнойОтТекущейВерсии1с Для тестирования обмена сообщениями по TCP/IP COM порта кнопки («ЗапуститьСерверTCPIP», «Отправить команду», «Открыть порт сканера») Файл NetObjectToIDispatchСборкиДляТестовОбменПоTCPIP.dll Только там пример нужно запускать из разных приложений. Я и кнопку отправить команду сделал невидимой. Если из одного приложения сделать, то посылающий ждет ответ и как сервер не может принять событие. Такой дид лок получается. Я этот сервер в свое время для КПК делал с WiFi для плохой связи. Поэтому данные сжимаются и декодируются в AANSI
#7 by Zixxx
А чем этот файл не устраивает 1с, может в файле есть еще какие-нибудь ссылки которых не хватает?
#8 by Адинэснег
САП отстой
#9 by Serginio1
Там на Policy ругается и порт.
#10 by Zixxx
А где видно что на Policy и порт ругается? В wsdl только визуально увидел что policy там ссылка на что-то еще есть
#11 by Serginio1
Я неправильно Policy вырезал. Поэтому на порт и ругался. У 1С проблемы со спецификаций WS-* 1С. Например Ws-Security Ws-Reliable и др
#12 by Zixxx
В общем сделал следующим образом, поправил wsdl, подгрузил его из файла. Отправил данные. С той стороны получил ответ. вы отправляете данные, так: А нам нужно так: <ns0:MT_1C_MasterData xmlns:ns0="; Что означают эти приставки ns0: почему хотят получать именно так, если в wsdl этого нигде нет. И можно ли х как-то добавить?
#13 by Zixxx
ап
#14 by Zixxx
fg
#15 by Serginio1
По схеме у тебя xmlns:p1 А из .Net не пробовал отправлять?
#16 by Zixxx
Через Net. пока не пробовал, не вывезу остальные задачи по времени, пока пошел по протоптанной дорожке, если что будет время на праздниках с net по разбираться. А к чему эти приставки относятся p1? И должна ли 1С была отправить p1, так как мне пишут что вроде этих приставок вообще нет. Я так понимаю что это указание типа (явное не явно по аналогу с записью xml), а при отправке это как-то указывается или это совсем другое?
#17 by Serginio1
Там делов то. Создал приложение, прописал ссылку. Подключился вызвал метод. Делов на пару минут. Наверняка у них и примеры есть. Как правило все тестируют на Net. В ЗаписьXML есть метод ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", ";); А вот как это это к твоей задаче прикрутить не знаю.
#18 by Zixxx
А при создании ОбъектаXDTO из фабрики, можно как-то указать тип самому если там anyType по умолчанию получается?
#19 by Serginio1
Нет у тебя в схеме прописано. По уму это должно быть в WSОпределения но там нет никакого СоответствиеПространстваИмен
#20 by Zixxx
Может есть возможность прописать эти данные в wsdl или создать свой пакет с нужными параметрами а потом уже полученный из пакета объект поместить в объект из wsdl. Смотрели Fiddler-ом что отправляется: 1С: [code] <soap:Envelope xmlns:soap=";     <soap:Body> <MT_1C_MasterData xmlns=";         xmlns:xs=";         xmlns:xsi=";         <Name>COFACE SA SWISS BRANCH</Name>         <Address>Rue Belle-Fontaine 18, CP 431, CH-1001, Lausanne, Swiss</Address> [/code] SoapUI: [code] <soapenv:Envelope xmlns:soapenv="; xmlns:c=";             <Name>COFACE SA SWISS BRANCH</Name>             <Address>Rue Belle-Fontaine 18, CP 431, CH-1001, Lausanne, Swiss</Address> [/code]
#21 by Serginio1
Вообще то этот вопрос нужно задавать разработчикам У тебя в заголовке прописано соответствие пространства имен MT_1C_MasterData xmlns="  без указания соответствия. То есть все что без префикса должно соответствовать
#22 by Zixxx
Это в ручную самому можно как-то прописать в wsdl?
#23 by Zixxx
Через SoapUI же с префиксом отправляет, может где в пакете что указать чтобы тоже префикс появился, но не соображу где и что именно
#24 by Zixxx
ап
#25 by Zixxx
ап
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С