PHP - SOAP确定存在的方法

时间:2013-06-19 07:44:05

标签: php web-services soap soap-client

我有web服务,当在浏览器中打开时显示一个xml文件。我用这些行

连接到webser
  $client = new SoapClient("http://XXXXXXXXX/webservice/test?wsdl");

打印出$ client会显示:

  SoapClient Object
  (
        [_soap_version] => 1
        [sdl] => Resource id #4
  )

现在,我的问题是如何通过查看xml文件来在xml文件中使用某些方法?这是因为我想检索并验证一些数据然后操纵它。

我该怎么做?我做得对吗?

PS:只是为了把事情放到上下文中,我能够通过浏览器访问查看它的xml。不知怎的,这是给我的唯一的东西。如果可以在PHP中玩,只有我真的很感谢回复。

由于

3 个答案:

答案 0 :(得分:4)

如果你知道函数的名称和该函数的参数,你可以调用函数。

$client = new SoapClient("http://XXXXXXXXX/webservice/test?wsdl");
$info = $client->__soapCall('Name of function' array('param1' => 1, 'param2' => 2);

如果您不知道参数的确切名称,这将有助于

var_dump ($client->__getTypes());

答案 1 :(得分:1)

检查php.net上的SoapClient文档:http://php.net/manual/en/class.soapclient.php

正如您所看到的,有一种获取可用功能的方法:SoapClient::__getFunctions

答案 2 :(得分:1)

获取方法和参数

    $client = new SoapClient("http://my_exposed_url?wsdl");
    var_dump($client->__getFunctions());    
    var_dump($client->__getTypes());