2017-02-23 39 views
0

我們這是在數據庫表中創建一個記錄,並給出響應/輸出,如SOAP UI「SUCCESS」成功插入後如何捕獲Developer Studio中的Web服務輸出

我們已經制定了一個項目的網絡服務在Developer Studio中使用AddressEndPoint調用此webservice,並在ESB服務器上部署CAR文件

web服務通過ESB成功調用,並且記錄正在表中插入,但我們無法在我們嘗試使用的任何地方記錄「SUCCESS」狀態CALL(AddressEndPoint)調解器之後的日誌調解器,但它不記錄Web服務響應。 下面是我的資料來源:

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

嘗試在ESB中啓用接線日誌[1],並檢查ESb實際上是否從Web服務獲得了「SUCCESS」響應。 http://mytecheye.blogspot.com/2013/09/wso2-esb-all-about-wire-logs.html –

+0

我啓用了wirelogs,但它只是記錄原始響應不是實際的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:我已經分享了我的源代碼在問題中,我已經添加爲你的建議,我的webservice輸出名稱是'ReceiveOrderServiceResponseMessage',但在碳carbon.log我得到空對名稱 – Junaid

+0

嗨,你已經驗證第二個服務響應好嗎?,後添加完整的日誌第二個電話來查看所帶來的迴應 –

相關問題