Текущее время: Ср, сен 19 2018, 14:42

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Вт, июн 20 2017, 10:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Привет всем!

На основе WSDL файла WEB сервиса создан WEB Proxy через который формируется XML документ.
Необходимо выходную строку XML подписать квалифицированной цифровой подписью и добавить эту подпись в XML.
Как получить выходную строку XML до ее отправки на WEB сервис?
Есть какой-нибудь класс/метод ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Ср, июн 21 2017, 23:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 12:11
Сообщения: 961
если правильно понял,
в xi в мэппинге можно получить сообщение бинарном виде
и что-нибудь в java сделать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Чт, июн 22 2017, 14:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 1140
Чем вы собираетесь подписывать? Проще всего складывать заранее сформированный файл и потом забирать его в канал.

_________________
я твой сап эфай внедрял
BAdI-позитив


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Чт, июн 22 2017, 14:53 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
trop написал(а):
если правильно понял,
в xi в мэппинге можно получить сообщение бинарном виде
и что-нибудь в java сделать

XI/PI у нас нет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Чт, июн 22 2017, 14:55 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Kengur написал(а):
Чем вы собираетесь подписывать? Проще всего складывать заранее сформированный файл и потом забирать его в канал.

А какими средствами создать XML файл?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Чт, июн 22 2017, 16:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 1140
Если нет PI то зачем вам этот гемор? XML можно сделать трансформацией, выгрузить, подписать сторонней софтиной. Если говорим про EDI то у софтины уже обычно есть механизм отправки файла в провайдера.

_________________
я твой сап эфай внедрял
BAdI-позитив


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Пт, июн 23 2017, 10:16 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Kengur написал(а):
Если нет PI то зачем вам этот гемор? XML можно сделать трансформацией, выгрузить, подписать сторонней софтиной. Если говорим про EDI то у софтины уже обычно есть механизм отправки файла в провайдера.

Заманчиво было использовать Service Consumer, который создается на основе WSDL файла.
Сгенерил - и пользуйся на здоровье. Однако непонятно можно ли увидеть, изменить и подписать строку XML до ее отправки.

Если нет, то придется искать другие варианты.
Работа с файлами это на крайний случай (их будет около 1000 в день).

Вручную собирать XML тоже нет большого желания.
Кроме генерации Service Consumer как можно использовать файлы WSDL и XSD?

Вообще с XML никогда не работал, это для меня темный лес, поэтому буду рад любым подсказкам.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Вс, июн 25 2017, 01:43 
Администратор
Администратор
Аватара пользователя

Зарегистрирован:
Ср, дек 14 2011, 08:20
Сообщения: 5
Пол: Мужской
XML из ABAP-структуры можно получить, например, вот так:

1) Воспользоваться методом ABAP_TO_XML_XSTRING класса CL_PROXY_XML_TRANSFORM. На вход подаётся структура с данными, которая является входным параметром для нужного Proxy Consumer-а, на выходе получается XSTRING, который достаточно тривиально превращается в STRING.

2) Сделать Simple transformation на основе XSD, потом вызывать CALL TRANSFORMATION для получения XML

3) Использовать редактор иерархий J3RTAXREP для XML-генерации на основе имеющегося у вас XSD.

Совет дан в предположении, что криптографическое ПО для подписи и его использование в ERP сертифицированы для РФ - а иначе не стоит даже и пытаться использовать ЭЦП для XML-документов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Пн, июн 26 2017, 15:19 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Спасибо! Получилось создать XML по 1 пункту.

Теперь вопрос чем заслать полученную строку XML на WEB сервис?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Пн, июн 26 2017, 16:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 17:44
Сообщения: 2930
Откуда: Москва
CL_HTTP_CLIENT=>CREATE_BY_URL и интерфейс IF_HTTP_CLIENT.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Чт, июл 06 2017, 13:37 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Удав написал(а):
CL_HTTP_CLIENT=>CREATE_BY_URL и интерфейс IF_HTTP_CLIENT.

Что-то не получилось с CL_HTTP_CLIENT.
Все отрабатывает без ошибок, но и не возвращает никакого результата.

Пошел другим путем. На основе consumer proxy создал generic consumer proxy.

Code:
  CALL METHOD cl_proxy_gen_clnt_factory=>create_proxy_for_class
    EXPORTING
      class_name        = 'Z_WEB_SERVICE'
      logical_port_name = 'Z_WEB_SERVICE_PORT'
    RECEIVING
      proxy             =  web_proxy.

  CALL METHOD web_proxy->execute_xml_xstring
    EXPORTING
      request  = request
    RECEIVING
      response = response.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Добавить цифровую подпись в XML строку на выходе WEB Proxy
СообщениеДобавлено: Ср, май 23 2018, 16:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, июн 05 2006, 14:33
Сообщения: 775
Пол: Мужской
Возвращаемся к нашим баранам...
Получатель XML требует наличия тэгов <soapenv:Envelope>, <soapenv:Header>, <soapenv:Body>.
Однако, WEB прокси создает XML без них.
Каким образом эти тэги должны быть добавлены к XML?
Должны ли они изначально прописаны в WSDL файле?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], onestep, Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB