rsugio / karlutka

речка Карлутка течёт в Ижевске, пусть она будет и на гитхабе
2 stars 0 forks source link

Fake TREX #16

Open chumpa opened 1 year ago

chumpa commented 1 year ago

Прикидываться Trexом

chumpa commented 1 year ago

При активации:

POST http://zzz:80/TrexProcessor/basic?style=document

<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>
        <yq1:activateIndex xmlns:yq1='urn:TrexProcessorVi'>
            <yq1:trexProcessorConfiguration xmlns:pns='urn:com.sap.aii.af.service.trex.ws.impl'>
                <pns:trexProcessorConfiguration>
                    <pns:analyserType>2</pns:analyserType>
                    <pns:deindPeriod>1440</pns:deindPeriod>
                    <pns:indPeriod>60</pns:indPeriod>
                    <pns:indexId>xi_msg:af.fa0.fake0db</pns:indexId>
                    <pns:isActive>true</pns:isActive>
                    <pns:logLevel>0</pns:logLevel>
                    <pns:modifiedBy>user</pns:modifiedBy>
                    <pns:modifyTimestamp>2023-06-04T05:33:30.539+00:00</pns:modifyTimestamp>
                    <pns:msgMaxSize>1048576</pns:msgMaxSize>
                    <pns:packCounter>100</pns:packCounter>
                    <pns:packMaxSize>1024</pns:packMaxSize>
                    <pns:qMaxSize>10000</pns:qMaxSize>
                    <pns:qPeriod>30</pns:qPeriod>
                    <pns:retPeriod>30</pns:retPeriod>
                    <pns:useQServer>true</pns:useQServer>
                </pns:trexProcessorConfiguration>
            </yq1:trexProcessorConfiguration>
        </yq1:activateIndex>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
chumpa commented 1 year ago
  1. Клиент Trex находится в tc~trex~client_api.jar и он достаточно простой
  2. В NWA есть "Trex Service" (trex.service) в котором надо указать дестинейшон tcpip://trex:port и тогда туда прилетит пакет вида TNS (OBJ) gethttpservers client_id 4JavaClient on: xxxxxxxx: Linux:4.4.82-6.9-default, расковырять который несложно, имея клиента и работающий сервер. Принцип сериализации простой, клиент в com.sapportals.trex.tns.TNSClient
  3. Поначалу смотрел на обилие классов в SLD но здесь это ненужная часть работы