我通过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>