Как захватить выходные данные веб-службы в Developer Studio

У нас есть веб-служба, которая создает запись в таблице базы данных и дает ответ/вывод как «УСПЕХ» после успешной вставки в интерфейс SOAP.

Мы разработали проект в Developer Studio и вызвали этот веб-сервис, используя AddressEndPoint, и развернули файл CAR на сервере ESB.

Веб-служба успешно вызывается через ESB, и записи вставляются в таблицы, но мы не можем зарегистрировать статус «УСПЕХ» везде, где мы пытались использовать посредник журнала после посредника CALL (AddressEndPoint), но он не регистрирует ответ веб-службы. Ниже мой источник:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="EslSfaOFAOMSOIntegrationPS"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <call>
            <endpoint>
               <address format="soap11"
                        uri="http://10.1.6.175:9763/services/EslSfaOMSODataService.SOAP11Endpoint/"/>
            </endpoint>
         </call>
         <log level="full"/>
         <datamapper config="gov:datamapper/EslSfaOFAOMSOIntegrationMapping.dmc"
                     inputSchema="gov:datamapper/EslSfaOFAOMSOIntegrationMapping_inputSchema.json"
                     inputType="XML"
                     outputSchema="gov:datamapper/EslSfaOFAOMSOIntegrationMapping_outputSchema.json"
                     outputType="XML"/>
         <log description="" level="full"/>
         <header name="Authorization"
                 scope="transport"
                 value="Basic cHdjLmV0aXNhbGF0OkZlcmd1c29uMTIz"/>
         <log level="full"/>
         <call>
            <endpoint>
               <address format="soap11"
                        uri="https://eere-test.scm.ap1.oraclecloud.com:443/soa-infra/services/default/DooDecompReceiveOrderExternalComposite/ReceiveOrderRequestService"/>
            </endpoint>
         </call>
         <enrich>
            <source clone="true" type="body"/>
            <target property="ReceiveOrderServiceResponseMessage" type="property"/>
         </enrich>
         <log level="custom">
            <property expression="get-property('ReceiveOrderServiceResponseMessage')"
                      name="moidSiddiqui"/>
         </log>
         <respond/>
      </inSequence>
      <outSequence/>
      <faultSequence/>
   </target>
   <description/>
</proxy>

person Junaid    schedule 23.02.2017    source источник
comment
Пожалуйста, уточните или приведите пример кода. Вы должны иметь возможность вести журнал, просто используя ‹log level=full/›   -  person Jan    schedule 23.02.2017
comment
Попробуйте включить wirelogs[1] в ESB и проверьте, действительно ли ESb получает ответ «УСПЕХ» от веб-сервиса. mytecheye.blogspot.com/2013/09/   -  person Susinda Perera    schedule 23.02.2017
comment
я включил проводные журналы, но это только необработанный ответ журнала, а не фактический вывод веб-службы   -  person Junaid    schedule 24.02.2017


Ответы (1)


Я использую это свойство после моего вызова посредника, чтобы получить статус

<log>
  property xmlns:ns="http://org.apache.synapse/xsd" name="Status" 
  expression="get property('axis2','HTTP_SC')"/>
</log>

Вы можете найти больше информации здесь

https://docs.wso2.com/display/ESB460/HTTP+Transport+Properties

Чтобы получить ответ службы, которую я использую

<enrich>
    <source clone="true" type="body"/>
    <target property="Ouput_Respose_Service" type="property"/>
</enrich>

<log level="custom" separator=",">
     <property expression="get-property('Ouput_Respose_Service')" name="Service_Response"/>
</log>
person alber arce    schedule 23.02.2017
comment
Альбер: я поделился своим источником в вопросе, я добавил, как вы предложили, выходное имя моего веб-сервиса — «ReceiveOrderServiceResponseMessage», но в carbon.log я получил null по имени свойства - person Junaid; 25.02.2017
comment
привет, Вы подтвердили, что вторая служба отвечает нормально ?, добавьте полный журнал после второго вызова, чтобы увидеть ответ, который приносит - person alber arce; 27.02.2017