У меня есть .net Web Service Method 'CheckCustomerLicense', и этот метод возвращает C сериализованный объект C, я вызываю этот метод через Soap from PHP.
Я получаю сериализованный объект, который двоично отформатирован, а не в XML.
Я хочу получить доступ к этим данным как к объекту в PHP, но для этого я должен его желать, и поскольку его объект .NET я хочу использовать .NET, встроенный в класс «System.Runtime.Serialization.Formatters.Binary.BinaryFormatter» через COM.
Код, который я использую для этого, приведен ниже:
<?php class eToolsLicenseNew { } $url='http://mail.ucm.com.au/eToolsLicenseWebService/eToolsLicenseWebUpdateService.asmx?WSDL'; $soap = new SoapClient($url, array( "trace" => 1, // enable trace to view what is happening "exceptions" => 1, // disable exceptions "cache_wsdl" => 1) ); try { $customer=array('customerId'=>'12345'); $result=$soap->CheckCustomerLicense($customer); //print_r($result); $obj = new COM("System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"); $object=new eToolsLicenseNew(); $object=$obj->Deserialize($result); // call to deserilize method } catch (SoapFault $e) { echo "Error: {$e->faultstring}"; } ?>
Но когда я называю «метод десериализации», давая внутреннюю ошибку сервера … Кроме того, что все прекрасно, может ли кто-нибудь есть, чтобы помочь мне … Пожалуйста …