2017-02-23 4 views
0

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

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

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

<?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> 
+0

Просьба разработать или привести пример кода. Вы должны иметь возможность регистрироваться просто, используя Jan

+0

Попробуйте включить проводные журналы [1] в ESB и проверьте, действительно ли ESb получает ответ «УСПЕХ» от веб-службы. http://mytecheye.blogspot.com/2013/09/wso2-esb-all-about-wire-logs.html –

+0

я включил проводные журналы, но это только логический отклик сырой реакции не фактический вывод webservice – Junaid

ответ

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> 
+0

Alber: я поделился своим источником в вопросе, я добавил, как вы сказали, мое имя вывода веб-службы - «ReceiveOrderServiceResponseMessage», но в файле carbon.log я получил null от имени свойства – Junaid

+0

привет, вы подтвердили, что вторая служба отвечает нормально?, добавьте полный журнал после второй звонок, чтобы увидеть ответ, который приносит –

Смежные вопросы