没人看吗?
有没有人用php做过移动的provision接口啊?

解决方案 »

  1.   

    在论坛上看见一位大师说用nusoap,然而我在用的时候出现,Fatal error: Uncaught SoapFault exception: [Client] Function ("call") is not a valid method for this service in /usr/data/phpapp/tmi/www/neibu.tmi.cn/provision/samples/client.php:7 Stack trace: #0 [internal function]: SoapClient->__call('call', Array) #1 /usr/data/phpapp/tmi/www/neibu.tmi.cn/provision/samples/client.php(7): SoapClient->call('reverse', Array) #2 {main} thrown in /usr/data/phpapp/tmi/www/neibu.tmi.cn/provision/samples/client.php on line 7不知是什么问题?
    请大师指教,谢谢!
    server.php
    require_once('../lib/nusoap.php');
    function reverse($str){ 
    $retval = "";
    if(strlen($str) < 1) {
       return new soap_fault('client','','invalid string'); 
    }
    for ($i = 1; $i <= strlen($str); $i++) {
       $retval .= $str[(strlen($str) - $i)]; 
    }
    return $retval; 
    }
    function add2numbers($num1, $num2) {
    if (trim($num1) != intval($num1)) {
       return new soap_fault('client', '', 'the   first number is invalid'); 
    }
    if (trim($num2) != intval($num2)) {
       return new soap_fault('client', '', 'the second number is invalid'); 
    }
    return ($num1 + $num2); 
    }
    ini_set("soap.wsdl_cache_enabled", "0");
    $soap = new soap_server;
    $soap->register('reverse');
    $soap->register('add2numbers');
    //$soap = new soap_server;
    $soap->configureWSDL('concatenate'); // 初始化对 WSDL 的支持
    // 注册服务
    $soap->register('reverse',
    array("str"=>"xsd:string"), // 输入参数的定义
    array("return"=>"xsd:string") // 返回参数的定义
    );
    $soap->register('add2numbers',
    array("num1"=>"xsd:int","num2"=>"xsd:int"), // 输入参数的定义
    array("return"=>"xsd:int") // 返回参数的定义
    );
    $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
    $soap->service($HTTP_RAW_POST_DATA);client.php
    require_once('../lib/nusoap.php');
    $client = new soapclient('http://192.168.1.9/neibu.tmi.cn/provision/samples/server.php?wsdl');
    //var_dump($client);
    $str = "This string will be reversed";
    $params1 = array('str'=>$str);
    $reversed = $client->call('reverse', array('parameters' => $params1));
    echo "If you reverse '$str', you get '$reversed'<br>\n";
    $n1 = 5;
    $n2 = 14;//$client->call(‘MethodName’, array(‘parameters’ => $params));
    $params2 = array('num1'=>$n1, 'num2'=>$n2);$added = $client->call('add2numbers', $params2);
    echo "If you add $n1 and $n2 you get $added<br>\n";
    ob_clean();找了都快两天了,还没有一点眉目,我的程序里面没有任何空格和空行,
    我见CSDN上有位大师说是php.ini配置问题,我是用的linux服务器,不知该如何配置,谢谢!请专家指点!