2010-09-09 59 views

回答

3

對於調試,我發現使用wireshark跟蹤TCP包的干擾性較小的解決方案。它看起來像:

alt text

+0

+1,因爲這是一個偉大的(並且意!)使用Wireshark的。 – jathanism 2010-09-09 18:59:17

1

我有這個相同的問題。我的解決方法是修改ZSI附帶的dispatch.py​​文件。

我爲我的應用程序創建了一個記錄函數(logmessage),它將SOAP消息存儲到數據庫中,然後在需要時添加該函數。我不記得我正在使用的ZSI版本。你應該能夠在代碼中很容易地找到這些函數。我AVE近似L個數字,因爲我在你的站點包目錄

L156做出其他修改

在Dispatch.py​​文件 - 記錄SOAP響應

def _Dispatch(tons-of-args, **kw): 
    #several lines of code edited here# 
    #several lines of code edited here# 
    #several lines of code edited here# 

    sw = SoapWriter(nsdict=nsdict) 
    sw.serialize(result, tc) 
    logmessage(str(sw), 1, kw['request'].get_remote_host()) #LOGGING HERE 

L168 - 記錄SOAP錯誤

def _ModPythonSendFault(f, **kw): 
    logmessage(str(f.AsSOAP()), 1, kw['request'].get_remote_host()) #LOGGING ADDED HERE 
    _ModPythonSendXML(f.AsSOAP(), 500, **kw) 

L277 - 原木請求

def AsHandler(request=None, modules=None, **kw): 
    '''Dispatch from within ModPython.''' 
    a = request.read(-1) 
    logmessage(a, 0, request.get_remote_host()) #LOGGING ADDED HERE 
    ps = ParsedSoap(a) 
    kw['request'] = request 
    _Dispatch(ps, modules, _ModPythonSendXML, _ModPythonSendFault, **kw) 
相關問題