0
Hiall
我必須連接到第三方soap服務,所以我無法控制wsdl。它包含以下定義:肥皂參數未在wsdl中定義
<s:schema elementFormDefault="qualified" targetNamespace="http://Shared.GlobalServices.DataTypes/PictureListRequest">
<s:element name="Request" type="s0:PictureListRequest" />
<s:complexType name="PictureListRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Header"
type="s0:PictureListRequestHeader" />
<s:element minOccurs="0" maxOccurs="1" name="Body"
type="s0:PictureListRequestBody" />
</s:sequence>
</s:complexType>
<s:complexType name="PictureListRequestHeader">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AuthCode"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="IpAddr"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DateTime"
type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="PictureListRequestBody">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DataAreaID"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="DateUpdated"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="TimeUpdated"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1"
name="CurrentPageIndex" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ItemsOnPage"
type="s:int" />
</s:sequence>
</s:complexType>
</s:schema>
我需要補充的是不是定義
$params = new stdClass();
$params->Header = new stdClass();
$params->Header->AuthCode = $this->authcode;
$params->Header->IpAddr = "";
$params->Header->DateTime = "";
$params->Body = new stdClass();
$params->Body->DataAreaID = "hrp";
$params->Body->DateUpdated = "";
$params->Body->TimeUpdated = "";
$params->Body->CurrentPageIndex = 1;
$params->Body->ItemsOnPage = 100;
$params->Body->AdditionalParameter = $value; // <-- undefined in wsdl
一個參數,但這樣的參數在請求被忽略,它甚至沒有包含在XML。
是否可以強制soapclient包含併發送我的參數?
什麼是一個醜陋的黑客:)但它colud完成...是的,它被服務忽略...感謝您的幫助。 – posthy 2012-02-03 12:00:41