0
我遇到SoapClient問題。 在我的web服務請求中,有一些特殊符號,如@,$,'等。 當我將它添加到$params
數組時,SoapClient爲它添加斜線。但遠程webservice在win平臺上工作,不要刪除斜槓並返回錯誤。php SoapClient刪除斜線
我遇到SoapClient問題。 在我的web服務請求中,有一些特殊符號,如@,$,'等。 當我將它添加到$params
數組時,SoapClient爲它添加斜線。但遠程webservice在win平臺上工作,不要刪除斜槓並返回錯誤。php SoapClient刪除斜線
看起來他們需要解決他們的結束,而不是你改變你的代碼中的問題...
如果上述某種原因是不可能的,你可以建立你的XML請求,並手動發送,但這是一個不好的做法。另一種方法是使用SoapClient的一些替代方法,例如http://sourceforge.net/projects/nusoap(這個庫非常易於使用)。不是100%確定它會自動轉義特殊符號,但它本身並不會逃脫「<」和「>」,所以我認爲值得在您的案例中嘗試。
或者我也想嘗試啓用SoapClient的強制UTF-8的轉換,看看是否改變的東西:
$client = new SoapClient('http://foobar.com/webservice.asmx?WSDL', array('trace' => 1, 'encoding'=>' UTF-8'));
我不能說固定在提供方這一問題。 :( 「手動XML請求」是什麼意思?通過我自己的類並覆蓋__doRequest方法? 謝謝,將嘗試nusoap,我考慮它,但我想使用客戶端從框中它是好一點,然後 – moka
我的意思是把你自己的XML作爲字符串併發送給服務器,有效的是,編寫你自己的實現:(你試過編碼參數的方式嗎? – Yuriy
是的,我試過編碼,但沒有任何反應: ( – moka