У меня есть метод .net Web-сервиса CheckCustomerLicense
, и этот метод возвращает C резкий сериализованный объект, я вызываю этот метод через Soap from PHP.Доступ к сборкам .NET через COM в PHP
Я получаю сериализованный объект, который двоично отформатирован, а не в формате XML.
Именно это я и столкнулся: Я хочу получить доступ к этим данным как к объекту в PHP, но для этого я должен его желать, а поскольку его объект .NET я хочу использовать .NET, встроенный в класс System.Runtime.Serialization.Formatters.Binary
через COM.
Но его не работает.
Когда я использую класс System.Collections.Stack
, он работает, т. Е. Получает доступ к сети. Но почему это не для класса System.Runtime.Serialization.Formatters.Binary
?
Код показан ниже:
Working ...
<?php
$stack = new COM("System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>
не работает
<?php
$obj = new COM("System.Runtime.Serialization.Formatters.Binary");
?>
Пожалуйста, помогите ....
Спасибо .. Его доступность теперь, можете ли вы сказать мне, как именно получить доступ к данным как к объекту в php сейчас. –
Извините, у меня нет опыта работы с PHP. Как программист на C#, я могу сказать, что я никогда не отправил бы что-то двоичное сериализованное. Я даже не уверен, что это сработает, вам нужно будет узнать тип .NET, который у вас есть. Двоичная сериализация - это один большой неприятный беспорядок, если вы тоже не используете C#. Можете ли вы попросить программиста вашего веб-службы вместо этого использовать разумный интерфейс? – nvoigt
Нет, я не могу спросить, потому что один и тот же объект уже доступен в нескольких приложениях C# (Done By Other C# Programmers), Так что у одного и того же объекта у меня есть доступ для лицензирования ... –