我對SOAP和XML :: Compile很陌生,大多數例子都可以通過SOAP調用結束,而沒有太多解釋如何處理響應。XML :: Compile :: SOAP - 將響應轉換爲哈希值
有沒有簡單的方法將SOAP響應轉換爲散列?
這裏是我的代碼
....
my ($response, $trace) = $call->($request);
my $content=$trace->response->decoded_content();
my $out=XML::Hash->new()->fromXMLStringtoHash($content)
,但我發現了以下錯誤:
第4行的文檔元素,列0,字節11177後垃圾/ usr/lib/perl5
看看服務器返回的內容:
<肥皂:信封.....
BA8
... </SOAP:信封>
我不知道的 'BA8' 怎麼弄進入響應,因爲一旦你刪除它看起來像一個完整和有效的響應。
$ response返回空 - 可能是因爲soap響應不是一個完整的XML - 我一直在看ba8或1ff8是否切斷跟蹤中的正確響應 - 是否存在響應的某種編碼問題因爲這些線路應該在那裏沒有理由。 – user2607648
也看着HHTP響應的軌跡-Client-Transfer-Encoding:chunked它告訴我這是編碼問題,因爲所有奇怪的線都以恆定的頻率來到 – user2607648