我通過PHP和SOAP連接到Microsoft .NET Webservice。我被告知這是一個「web服務」,所以我的印象是它應該像我過去一直使用的其他「web服務」一樣。沒有找到匹配的ExtType found
調用不涉及參數似乎工作正常。例如,
$client->GetContactsDataTableXMLSchema();
而結果是你可能會期望的,一個聯繫表的XML模式。那裏沒有問題。
然而,
任何時候,我儘量讓涉及的參數都見鬼掙脫打個電話,所有我曾經得到的是錯誤:
No matching ExtType found
這是一個標準的MS .NET錯誤?這是我在PHP肥皂中做錯了嗎?我無法真正分享肥皂的終點,因爲它與WSDL一樣是私密/保密的。
這裏是我調用該函數:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<FetchDIASContact xmlns="http://www.cac.be/">
<applicationName>string</applicationName>
<workspace>string</workspace>
<addressTable>string</addressTable>
<addressID>string</addressID>
</FetchDIASContact>
</soap:Body>
</soap:Envelope>
這裏是我如何調用它。
$client->FetchDIASContact('MyVastiauWebApplication' , '100' , 'Client' , '987654321');
前三個參數給我是web服務製造商,並在他們的C#示例中定義。最後一個參數是我們想要獲取的客戶端,他們在Visual Studio C#示例應用程序中提供的作品。
最後,
請問我有什麼機會了,當結果還是回來的實際讀取和結果的數據進行解碼?
我有一個糟糕的感覺,結果將是一個MS .NET數據表,必須從字節流解碼。
以下是我將在工作時得到的結果。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<FetchDIASContactResponse xmlns="http://www.cac.be/">
<FetchDIASContactResult>string</FetchDIASContactResult>
<addressesDT>base64Binary</addressesDT>
<fieldsDT>base64Binary</fieldsDT>
<linksDT>base64Binary</linksDT>
</FetchDIASContactResponse>
</soap:Body>
</soap:Envelope>