nusoap (php) + объект Java в качестве входных данных - PullRequest
0 голосов
/ 27 августа 2010

Я пытаюсь вызвать службу с помощью nusoap. Сервис изначально написан на Java и требует в качестве входных данных объект Java Как мне создать вход, чтобы php принял его? На данный момент сервис не понимает следующие подходы (считает, что ввод нулевой):

$obj = (object) array('param1_name' => 'value1', 'param2_name' => 'value2', ..);

$obj = (object) array('value1', value2,...);

$obj = (object) array('String_1' => 'value1', 'Long_1' => value2, ...);

Я также попробовал следующий подход:

http://www.php.net/manual/en/book.soap.php#83409

1 Ответ

0 голосов
/ 27 августа 2010

Если удаленный сервис использует SOAP и у вас есть wsdl, он должен работать. Но вы говорите, что сервис требует Java-объекта. Это звучит как RMI (удаленный вызов метода), и в этом случае вы не сможете использовать его с nusoap, а не с PHP вообще. В этом случае сервису потребуются сериализованные объекты Java (не XML) и (обычно) только Java может создавать и читать их.


Протокол SOAP обычно обменивается XML-документами. Поэтому не имеет значения, реализован ли сервер на Java. Формат данных определяется в XML-схеме, которая включена или на которую ссылается wsdl.

Очень хорошим инструментом для «игры» с веб-сервисами SOAP является soapUI. С soapUI вы можете писать запросы в текстовом редакторе и просматривать необработанные ответы. Вы должны установить его и использовать с сервисом.


Дополнительная литература:

...