0

我尝试使用 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

4

1 回答 1

0

如果远程服务使用 SOAP 并且您有 wsdl,那么它应该可以工作。但是您说,该服务需要一个 Java 对象。这听起来像 RMI(远程方法调用),在这种情况下,您将无法将它与 nusoap 一起使用,而根本无法与 PHP 一起使用。在这种情况下,服务将需要序列化的 Java 对象(不是 XML)并且(通常)只有 Java 可以创建和读取它们。


SOAP 协议通常交换 xml 文档。因此,服务器是否用 Java 实现并不重要。数据格式在 wsdl 包含或引用的 xml 模式中定义。

一个非常好的“玩”SOAP web 服务的工具是soapUI。使用soapUI,您可以使用文本编辑器编写请求并查看原始响应。您应该安装它并将其与服务一起使用。


延伸阅读:

于 2010-08-27T11:28:32.773 回答