#0
by HomoAlbus
Добрый день! Обмениваюсь со сторонним веб сервисом. Создал ws определение и ws прокси. Вызываю метод веб сервиса - получаю ошибку. Выяснили, что проблема с пространством имен. У меня: <soap:Envelope xmlns:soapenv="; xmlns:soapenc="; xmlns:xsd="; xmlns:xsi="; xmlns:soap="; <soap:Header/> <soap:Body> <getList xmlns="; xmlns:xs="; xmlns:xsi="; <param>test</param> А нужно: <soap:Envelope xmlns:soapenv="; xmlns:soapenc="; xmlns:xsd="; xmlns:xsi="; xmlns:soap="; xmlns:int="; <soap:Header/> Другими словами, нужно пространство имен из GetList перенести в soap:Envelope. А как это сделать, если 1С сам генерирует soap уровень?
#1
by tridog
С точки зрения стандарта приведенные фрагменты xml идентичны. Т.е. любой xml parser должен разобрать их одинаково. Уверен, что проблема в этом? Если уверен - кажется, что способов повлиять на форматирование xml при использовании WSПрокси нет. Тогда остается вместо WSПрокси самому слать HTTP-запросы. Т.е. самому формировать xml через ЗаписьXML и передавать его в качестве тела в HTTPЗапрос. Правда тогда придется самому разбирать ответ.
#2
by DmitrO
В первом и во втором варианте элемент getList находится в одном пространстве имен, и оно "; В первом варианте оно там, потому что объявляется xmlns="; - пространство имен по умолчанию (когда элемент не квалифицирован префиксом). Во втором варианте, благодаря объявлению xmlns:int="; - для этого пространства имен определяется префикс int, но элемент getList там квалифицирован как раз этим префиксом. А вот вложенный в него элемент param не квалифицирован, оответственно в первом варианте он в пространстве имен по умолчанию, а это ";; а во втором варианте, оно не определено совсем.
#4
by HomoAlbus
Тут мне еще вариант предложили, оставить как есть и заменить только: на: Есть ли возможность при создании xdto как-то явно указать для вложенного элемента xmlns?
#5
by Chikko
Сталкивался с такой же проблемой. Получилось решить только "собиранием" хмл вручную. Может кто-нибудь подскажет более простой способ?
#9
by Serginio1
И чего там замороченного? Создать библиотеку 1 минута, написать код даже быстрее чем в 1С зная NET.
#10
by HomoAlbus
Я пролистал весь тред и никак не могу понять как сие можно к данной проблеме применить?
#12
by oleg_km
Смысл такой, что в .NET гораздо более приспособлен к работе с сервисами, а - компонента, которая связывает сборку .NET и 1С. Ну это очень схематично и коротенько. Т.е. в ограниченной по возможностям 1С можно использовать безграничные возможности .NET. Я уже пользую больше года и не мыслю, как можно без этого
#13
by Serginio1
Кстати в новой версии исправил метод public object СоздатьКлиентаWCFConfigFile(string ИмяФайла, object TChannel, string endpointConfigurationName, object endpointAddress=null,string UserName=null, string Password=null) { ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap; {
#14
by oleg_km
У меня нет работы в веб-сервисами. У меня больше всякие системные вещи: сокеты, ком-порты, бинарные файлы, прямой доступ к скулю и пр. Кстати, большой блок по GDI+, рисую карты Яндекс гораздо быстрее, чем посредством HTML
#15
by HomoAlbus
Нда, этому делу я точно ума не дам. Придется видимо писать в xml, а потом заменой "param" на "param xmlns=""" менять. А тот xml что получиться по HTTP отправлять...
#17
by Serginio1
Кстати работая с ЭДИ пришлось заняться кодогенерацией из xsd. Вот этот лучше всех разобрал Кстати здесь про подпись
#19
by oleg_km
Так в .NET подписи не по ГОСТ, а у меня только с ЭСФ. У Крипто-ПРО есть сборка для криптографии по ГОСТ, но они за нее денег просят, в принципе 1С-овская устраивает.
#21
by oleg_km
Ну вопрос, будет ли это совместимо с ключевыми носителями Крипто-ПРО? Да и вообще-то противоречит законодательству: стойкие криптопровайдеры могут разрабатывать только разработчики, лицензированные ФСБ. Ну и задачи нет все переписать на .NET. Только то, что не работает, отсутствует или гораздо проще сделать на .NET. В остальном пусть 1С тоже что-то делает.
#22
by Serginio1
Кстати а в 1С появилась функция цифровой подписи по ГОСТу? У меня девчонки подписывают через сайт, а значит есть СОМ библиотеки подписи. Меня просто заинтересовал алгоритм подписи, так как он должен быть открытым
#23
by oleg_km
На 8.2 целый объект - МенеджерКриптографии. На сайте например у лерадаты вроде java-applet, но у разработчика криптопровайдера - Крипто-ПРО есть и COM и .NET-сборка. Алгоритм открытый, но на разработку конкретной реализации нужна лицензия, типа ФСБ проверит: не сделал ли ты закладки.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Обнуляются записи в регистре сведений при добавлении новой записи
- При записи в РС обнаруживаются одинаковые записи.
- 8.2. Как включить пакет XDTO в глобальную Фабрику XDTO?
- при оптимизации запроса обработчик запросов исчерпал пространство стека
- Как сделать чтобы ФабрикаXDTO не писала в XML пространство имен?
- WS-ссылка - приемник не понимает 1С - не то пространство имен
- C#. Не могу подключить к WPF пространство System.Windows
- Сообщение пользователю при записи на сервере о текущем состояние записи
В этой группе 1С
- Кассовый аппарат MINI-T 400МЕ + ПК
- Интеграция 1с с Perco.
- 1C Управляемые формы. Как получить текущее значение отбора ТЧ на форме?
- УТ 10.3 Как получить сумму продажи?
- Консоль запросов не сохраняет запрос в файл.
- Ошибка:"Выберите элемент, а не группу"
- ЗУП: Расчет дней дополнительного отпуска, кто дорабатывал?
- Капремонт, модернизация БГУ 8.2
- Перенос данных из 7.7 в 8.3 Бухгалтерия
- Неправильно печатаются документы ПроверитьВывод()
- ЗУП буква "Ё" и "Е" в отчетности ПФР
- Как вызвать обработку прерывания пользователя из серверной процедуры?
- БП 3.0. Не заполняется расчет по авансовым платежам по налогу на имущество
- Виртуальные таблицы в динамическом списке
- Как избежать ошибки при компиляции
- УФ : на форме иногда отображаются не все элементы
- Документ "восстановление НДС" в УПП
- Медленно отрабатывает обработка на клиент серверной базе
- Регламентные задания файловый вариант
- Не корректная работа сканера штрихкодов Motorola DS 4208