Сервер JCO IDOC для нескольких направлений
Я разрабатываю сервер IDOC, который может подключаться к нескольким получателям в одной и той же системе SAP (хост шлюза будет одинаковым) и получать IDoc. Я не уверен, что мне нужно несколько запущенных экземпляров JCoServer или один JCoServer с несколькими адресатами.
Если последнее имеет место, то зачем нужен параметр для указания имени получателя с помощью jco.server.repository_destination
свойство при предоставлении данных сервера?
1 ответ
Недвижимость jco.server.repository_destination
предназначен для сообщения JCoServer, какой JCoDestination использовать для запроса необходимых метаданных RFC из системы SAP. Метаданные RFC всегда необходимы для правильной интерпретации данных запроса RFC.
Таким образом, если ваш JCoServer предназначен только для обслуживания RFC-запросов, исходящих из той же системы SAP (с тем же SID), то укажите jco.server.repository_destination
достаточно. Метаданные RFC не изменятся независимо от того, какое назначение RFC (определенное в SM59) используется из этой системы ABAP.
Но если JCoServer также должен обслуживать RFC-запросы, инициированные из других систем SAP (из других SID), то необходимые метаданные RFC могут отличаться, и вы должны указать jco.server.repository_map
к тому же. Как правило, метаданные RFC всегда должны запрашиваться из той же системы SAP, из которой исходит запрос RFC.
Кстати, вы не можете запустить несколько экземпляров JCoServer с одним и тем же jco.server.progid
для регистрации на то же jco.server.gwhost
а также jco.server.gwserv
, Если вы попробуете, JCo выдаст исключение. Вам нужен один экземпляр JCoServer для каждого набора комбинаций progid / gwhost / gwserv.