首页 > 解决方案 > 使用 NUSOAP 和 PHP 进行请求

问题描述

所以我一直在碰壁,我需要向 wsdl 站点发出请求,提供用户名和密码,并在站点http://www.autobid.co 上调用函数“getVehicleDetails”。 za/halfway/vehicledetails.php?wsdl,我必须为此使用 NuSOAP。我试过了

<?php  

require_once('nusoap/lib/nusoap.php');

$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';

$proxyusername = isset($_POST['proxyusername']) ? $_POST['theusername'] : '';
$proxypassword = isset($_POST['proxypassword']) ? $_POST['thepassword'] : '';

$client = new nusoap_client('http://www.autobid.co.za/halfway/vehicledetails.php?wsdl', 'wsdl',
                        $proxyhost, $proxyport, $proxyusername, $proxypassword);

                        $err = $client->getError();

                        if ($err) {

                            echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';

                        }

// Doc/lit parameters get wrapped

$param = array('Symbol' => 'IBM');

$result = $client->call('getVehicleDetails', array('parameters' => $param), '', '', false, true);
// Check for a fault

if ($client->fault) {
    echo '<h2>Fault</h2><pre>';
    print_r($result);
    echo '</pre>';

} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo '<h2>Error</h2><pre>' . $err . '</pre>';
    } else {
        // Display the result
        echo '<h2>Result</h2><pre>';
        print_r($result);
        echo '</pre>';
    }

}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';



?>



但我得到的只是一个错误,指出“未找到传输,或尚不支持选定的传输!”

我在这里做错了什么?

标签: php

解决方案


由于某种原因,返回的信息中有错误,有一个“!” 这搞砸了一切,我必须先捕获信息并删除该字符,然后才能成功提取信息。该错误主要是由于服务器的响应写得不好。


推荐阅读