Текущее время: Чт, мар 19 2026, 01:28

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: доступ к объектам интеграции по SOAP
СообщениеДобавлено: Вт, июл 08 2014, 11:06 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
В качестве самообразования разбираюсь с доступом к объектам интеграции по SOAP. Вот что пока выяснил:

подготовка:
идем на http://sap-pi-d:50000/nwa/WSAdmin

ищем по Service Definition Name = *.directory.* (компоненты Integration Directory)

находятся строки вида: CommunicationChannelServiceWsd/CommunicationChannelServiceVi

идем на вкладку WSDLs и жмем на "Test in WS Navigator"

видим :
Цитата:
Service Information
WSDL URL:http://sap-pi-d:50000/CommunicationChannelService/HTTPBasicAuth?wsdl&style=document&mode=ws_policy

Operations
change
check
create
createFromTemplate
delete
openForEdit
query
read
revert


в SOAPUI создаем новый SOAP проект. Вносим WSDL URL, который получили ранее. После импорта создаются пустые запросы на каждую операцию. Меняем запрос и указываем имя для авторизации. При выполнении будет показан результат.

Пример:
ЗАПРОС

Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:CommunicationChannelServiceVi" xmlns:urn1="urn:com.sap.aii.ibdir.server.api.types">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:read>
         <urn:CommunicationChannelReadRequest>
            <urn1:CommunicationChannelID>
               <urn1:ComponentID>OurSoftware</urn1:ComponentID>
               <urn1:ChannelID>SOAP_Axis_Receiver_test_D</urn1:ChannelID>
            </urn1:CommunicationChannelID>
         </urn:CommunicationChannelReadRequest>
      </urn:read>
   </soapenv:Body>
</soapenv:Envelope>


ОТВЕТ

Code:
<SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body xmlns:rpl="urn:CommunicationChannelServiceVi">
      <rpl:readResponse xmlns:rn1="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rn0="urn:com.sap.aii.ib.server.api.types" xmlns:rn3="urn:com.sap.aii.ibdir.server.api.types" xmlns:rn2="java:sap/standard">
         <rpl:Response>
            <rn3:CommunicationChannel>
               <rn3:MasterLanguage>EN</rn3:MasterLanguage>
               <rn3:AdministrativeData>
                  <rn0:ResponsibleUserAccountID>другой-юзер</rn0:ResponsibleUserAccountID>
                  <rn0:LastChangeDateTime>2014-07-04T10:53:06.744+04:00</rn0:LastChangeDateTime>
                  <rn0:LastChangeUserAccountID>юзер</rn0:LastChangeUserAccountID>
               </rn3:AdministrativeData>
               <rn3:Description>
                  <rn0:languageCode>EN</rn0:languageCode>
               </rn3:Description>
               <rn3:CommunicationChannelID>
                  <rn3:PartyID/>
                  <rn3:ComponentID>OurSoftware</rn3:ComponentID>
                  <rn3:ChannelID>SOAP_Axis_Receiver_test_D</rn3:ChannelID>
               </rn3:CommunicationChannelID>
               <rn3:AdapterMetadata>
                  <rn3:Name>SOAP</rn3:Name>
                  <rn3:Namespace>http://sap.com/xi/XI/System</rn3:Namespace>
                  <rn3:SoftwareComponentVersionID>1879eed0-7b4e-11d9-87c6-c81c0a114c15</rn3:SoftwareComponentVersionID>
               </rn3:AdapterMetadata>
               <rn3:Direction>Receiver</rn3:Direction>
               <rn3:TransportProtocol>AxHTTP</rn3:TransportProtocol>
               <rn3:TransportProtocolVersion/>
               <rn3:MessageProtocol>AxHTTP</rn3:MessageProtocol>
               <rn3:MessageProtocolVersion/>
               <rn3:AdapterEngineName/>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>transport.url</rn3:Name>
                  <rn3:Value>http://OurSoftwareHOST:8080/services/ServiceForSAP</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>authenticationType</rn3:Name>
                  <rn3:Value>None</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>user</rn3:Name>
                  <rn3:Value/>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>password</rn3:Name>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>keystoreView</rn3:Name>
                  <rn3:Value>DEFAULT</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>certificateAlias</rn3:Name>
                  <rn3:Value/>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>defaultSOAPVersion</rn3:Name>
                  <rn3:Value>1.1</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>defaultSOAPAction</rn3:Name>
                  <rn3:Value/>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>encapsulationFormat</rn3:Name>
                  <rn3:Value>MIME</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>keepHeaders</rn3:Name>
                  <rn3:Value>0</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>keepAttachments</rn3:Name>
                  <rn3:Value>0</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:AdapterSpecificAttribute>
                  <rn3:Name>payload</rn3:Name>
                  <rn3:Value>bodyChild</rn3:Value>
               </rn3:AdapterSpecificAttribute>
               <rn3:ModuleProcess>
                  <rn3:ProcessStep>
                     <rn3:ModuleName>AF_Adapters/axis/AFAdapterBean</rn3:ModuleName>
                     <rn3:ModuleType>Local Enterprise Bean</rn3:ModuleType>
                     <rn3:ParameterGroupID>afreq</rn3:ParameterGroupID>
                  </rn3:ProcessStep>
                  <rn3:ProcessStep>
                     <rn3:ModuleName>AF_Adapters/axis/HandlerBean</rn3:ModuleName>
                     <rn3:ModuleType>Local Enterprise Bean</rn3:ModuleType>
                     <rn3:ParameterGroupID>xireq</rn3:ParameterGroupID>
                  </rn3:ProcessStep>
                  <rn3:ProcessStep>
                     <rn3:ModuleName>AF_Adapters/axis/HandlerBean</rn3:ModuleName>
                     <rn3:ModuleType>Local Enterprise Bean</rn3:ModuleType>
                     <rn3:ParameterGroupID>trp</rn3:ParameterGroupID>
                  </rn3:ProcessStep>
                  <rn3:ProcessStep>
                     <rn3:ModuleName>AF_Adapters/axis/HandlerBean</rn3:ModuleName>
                     <rn3:ModuleType>Local Enterprise Bean</rn3:ModuleType>
                     <rn3:ParameterGroupID>xires</rn3:ParameterGroupID>
                  </rn3:ProcessStep>
                  <rn3:ProcessStep>
                     <rn3:ModuleName>AF_Adapters/axis/AFAdapterBean</rn3:ModuleName>
                     <rn3:ModuleType>Local Enterprise Bean</rn3:ModuleType>
                     <rn3:ParameterGroupID>afres</rn3:ParameterGroupID>
                  </rn3:ProcessStep>
                  <rn3:ParameterGroup>
                     <rn3:ParameterGroupID>xires</rn3:ParameterGroupID>
                     <rn3:Parameter>
                        <rn3:Name>handler.type</rn3:Name>
                        <rn3:Value>java:com.sap.aii.axis.xi.XI30OutboundHandler</rn3:Value>
                     </rn3:Parameter>
                  </rn3:ParameterGroup>
                  <rn3:ParameterGroup>
                     <rn3:ParameterGroupID>trp</rn3:ParameterGroupID>
                     <rn3:Parameter>
                        <rn3:Name>handler.type</rn3:Name>
                        <rn3:Value>java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender</rn3:Value>
                     </rn3:Parameter>
                     <rn3:Parameter>
                        <rn3:Name>module.pivot</rn3:Name>
                        <rn3:Value>true</rn3:Value>
                     </rn3:Parameter>
                  </rn3:ParameterGroup>
                  <rn3:ParameterGroup>
                     <rn3:ParameterGroupID>xireq</rn3:ParameterGroupID>
                     <rn3:Parameter>
                        <rn3:Name>handler.type</rn3:Name>
                        <rn3:Value>java:com.sap.aii.axis.xi.XI30OutboundHandler</rn3:Value>
                     </rn3:Parameter>
                  </rn3:ParameterGroup>
               </rn3:ModuleProcess>
               <rn3:SenderIdentifier>
                  <rn3:schemeID/>
                  <rn3:schemeAgencyID/>
               </rn3:SenderIdentifier>
               <rn3:ReceiverIdentifier>
                  <rn3:schemeID/>
                  <rn3:schemeAgencyID/>
               </rn3:ReceiverIdentifier>
            </rn3:CommunicationChannel>
            <rn3:LogMessageCollection/>
         </rpl:Response>
      </rpl:readResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Объекты Integration Directory я так могу смотреть, а вот как получить доступ к объектам Enterprise Service Repository, то есть к описанию интерфейсов, типов данных и мапингам?
Общая цель: попробовать сделать что-то типа документатора. Например, задаешь ему названия двух систем и от расписывает, какие агрименты, каналы, интерфейсы
участвуют в сопряжении этих систем. Может быть полезно для выявления беспризорных объектов, которые остались от каких-то экспериментов.
Вот как-то так.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: доступ к объектам интеграции по SOAP
СообщениеДобавлено: Ср, июл 09 2014, 08:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Я писал в свое время код в АБАПе для заполнения Value Mapping Groups. Там я пользовался Directory API для получения списка бизнес-систем. А вот для объектов ESR, по-моему, ничего подобного я не нашел. И не уверен, что есть. Впрочем, могу ошибаться, специально не искал. В блоге у William Lee можно поискать. Про Directory API он писал.

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: доступ к объектам интеграции по SOAP
СообщениеДобавлено: Ср, июл 09 2014, 09:52 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
ок. Очень даже может быть, что доступ к объектам ESR очень заморочанный. Одно разнообразие мапингов чего стоит! а то, что могут быть сложные структуры данных, так об этом можно даже просто помолчать. Ну и это хорошо, так как в IB есть ссылки на интерфейсы, а это уже зацепка для понимания, что к чему в ESR. Ладно, будем попробовать поиграться.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: доступ к объектам интеграции по SOAP  Тема решена
СообщениеДобавлено: Чт, июл 10 2014, 10:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, фев 25 2012, 02:52
Сообщения: 141
Откуда: Москва
Пол: Мужской
Доступ к Directory официально открыт через Directory API.

В ESR, насколько я знаю, официального API нет.

_________________
Сажаем самолеты по телефону. :)
SAP - фрилансер.
sap.pitroff.ru


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

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


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

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


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

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