Текущее время: Пт, мар 29 2024, 00:17

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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