問題:當我通過PHP SoapClient
向Biztalk發送請求時,我正在丟失一個節點<StreetName>
。OAGIS模式忽略<StreetName>節點
Biztalk通過OAGIS模式驗證我們的請求。
要發送,我轉換XML
到Array
,併發送類似數組的請求,但是當檢查我的最後一個SOAP請求$soapClient->__getLastRequest()
,我失去的節點。
我的要求陣列:
'Location' =>
array(
'Address' =>
array(
'StreetName' => 'StreetName',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),
在$soapClient->__getLastRequest()
我失去節點<StreetName>
:
</ns1:Location>
<ns1:Address>
<ns1:CityName>MyCityName</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
</ns1:Location>
在OAGIS文檔節點<Address>
應該包含這個節點 OAGIS doc "Address"
在情況下,如果我發送:
<AddressLine>
或:
<LineOne>
<LineTwo>
<LineThree>
<LineFour>
<LineFive>
這個節點,我們不失去!
'Location' =>array(
'Address' =>
array(
'AddressLine' => 'AddressLine',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),
<ns1:Location>
<ns1:Address>
<ns1:AddressLine>AddressLine</ns1:AddressLine>
<ns1:CityName>MYCHANGESHERE</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
<ns1:Location>
和:數組和最後一個請求($soapClient->__getLastRequest()
)的
例
'Location' =>array(
'Address' =>
array(
'LineOne' => 'LineOne',
'LineTwo' => 'LineTwo',
'LineThree' => 'LineThree',
'LineFour' => 'LineFour',
'LineFive' => 'LineFive',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),
<ns1:Location>
<ns1:Address>
<ns1:LineOne>LineOne</ns1:LineOne>
<ns1:LineTwo>LineTwo</ns1:LineTwo>
<ns1:LineThree>LineThree</ns1:LineThree>
<ns1:LineFour>LineFour</ns1:LineFour>
<ns1:LineFive>LineFive</ns1:LineFive>
<ns1:CityName>MYCHANGESHERE</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
<ns1:Location>
附加信息:
我發現documentation,它告訴我們,我們需要選擇我們將發送什麼。但在我的情況下,一些節點被忽略。
是的,我知道了。但是當我只發送''沒有'AddressLine或LineOne'時,我正在失去''節點。 –
bdn