Текущее время: Пн, июл 16 2018, 16:14

Часовой пояс: 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
Сообщения: 1082
Чем вы собираетесь подписывать? Проще всего складывать заранее сформированный файл и потом забирать его в канал.

_________________
я твой сап эфай внедрял
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
Сообщения: 1082
Если нет 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
Сообщения: 2926
Откуда: Москва
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], Google Feedfetcher, MaрьЯ


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

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