找出webservice函数的函数参数

时间:2014-05-30 07:13:45

标签: php nusoap

由于我无法控制的原因,我被迫使用NuSoap代替SOAP向网络服务提出请求。

经过一些搜索,我在SOAP's中找到了__getFunctions() NuSoap等效字词。我现在所处理的部分是弄清楚网络服务功能所期望的参数格式。

require_once(APPPATH.'libraries/nusoap.php');    
$baseurl = 'http://www.webservicex.net/geoipservice.asmx?WSDL';    
$client = new nusoap_client($baseurl, true);
$err = $client->getError();
if ($err) {
    echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
    die();
}
$proxy = $client->getProxyClassCode();
print_r($proxy);

上面给出了

的输出
class nusoap_proxy_1027585735 extends nusoap_client 
{ 
    // http://www.webservicex.net/:GetGeoIP^ 
    $parameters function GetGeoIP($parameters) 
    { 
        $params = array('parameters' => $parameters); 
        return $this->call('GetGeoIP', $params, 'http://testuri.com', 'http://www.webservicex.net/GetGeoIP');  
    } 
    // http://www.webservicex.net/:GetGeoIPContext^ 
    $parameters function GetGeoIPContext($parameters) 
    { 
        $params = array('parameters' => $parameters); 
        return $this->call('GetGeoIPContext', $params, 'http://testuri.com', 'http://www.webservicex.net/GetGeoIPContext'); 
    } 
}

现在我知道了函数名称(GetGeoIP和GetGeoIPContext),我很难找到传递给这些函数的参数。

我猜$params = array('parameters' => $parameters);是我应该感兴趣的部分,但这并不能给出完整的图片。 简而言之,SOAP's中的__getTypes() NuSoap是否相等?

2 个答案:

答案 0 :(得分:2)

您可以使用SoapUI获取请求的示例。

如果使用url endPoint(WSDL)创建新项目,则可以获取所有soapCalls。使用它更容易理解WSDL中定义的类型。

请点击此链接http://www.soapui.org/SOAP-and-WSDL/working-with-wsdls.html

$ parameters是请求

中每个参数的数组(键 - >值)

$ parameters = array(&#39; IPAddress&#39; =&gt;&#39; xxx.xxx.xxx.xxx&#39;)

答案 1 :(得分:0)

$opdata = $proxy->getOperationData('GetGeoIP');方法getOperationData继承自nusoap_client。请参阅http://www.contao-docs.org/docs/nusoap/html/classnusoap__client.html