0
Apache 2.2.32上的PHP 5.6.30沒有正確生成空變量
我試圖用SoapClient撥打電話。請求結構中的一個類具有很多屬性,其中大多數屬性必須以xsi:nil="true"
發送。下面是一個例子
class myClass {
public $attribute1;
public $attribute2;
public $attribute3;
}
一個簡單的類時,我發送請求的XML而不設定任何(或空的所有屬性)如下生成(跳過SOAP-ENV和等):
<ns1:class>
<ns1:attribute1 xsi:nil="true">
<ns1:attribute2 xsi:nil="true">
<ns1:attribute3 xsi:nil="true"></ns1:attribute3>
</ns1:attribute2>
</ns1:attribute1>
</ns1:class>
我期望是
<ns1:class>
<ns1:attribute1 xsi:nil="true" />
<ns1:attribute2 xsi:nil="true" />
<ns1:attribute3 xsi:nil="true" />
</ns1:class>
如果我分配一個值,可以說attribute2那麼XML就會產生這樣:
<ns1:class>
<ns1:attribute1 xsi:nil="true">
<ns1:attribute2>my_value</ns1:attribute2>
<ns1:attribute3 xsi:nil="true"></ns1:attribute3>
</ns1:attribute1>
</ns1:class>
很明顯,遠程服務器不接受我的請求!
對這個問題有什麼想法?
順便說一句我沒有提供WSDL,因爲我首先必須要求權限。
謝謝
你需要顯示你的代碼。你能否用所有專有名稱取代WSDL的版本? – Barmar