soapCall не возвращает никакого значения - PullRequest
0 голосов
/ 04 ноября 2019

Это мой первый мыльный код на PHP. Но я не получаю никакого результата. Я думаю, что есть некоторые проблемы в soapCall и SoapClient.

У меня три файла. сервер, клиент и сервис. Я хочу подключиться к серверу и просто получить имя студентов по мылу. Это очень простой код, но он не работает.

//server.php
<?php
class server
{
    public function __construct()
    {

    }

    public function getStudentsName($id_array)
    {
        return 'Mohammad';
    }
}
$params = array('uri'=>'phpsoap/server.php');
$server = new SoapServer(NULL , $params);
$server -> setClass('server');
$server -> handle();

?>

//client.php
<?php 
class client
{
    public function __construct()
    {
        $params = array('location' => 'http://phpsoap.exp/server.php', 
                        'uri' => 'urn://phpsoap/server.php', 
                        'trace' => 1
                        );
        $this->instance= new SoapClient(NULL , $params);
    }

    public function getName($id_array)
    {
        $this->instance->__soapCall('getStudentsName' , $id_array);
    }
}

$client = new client;
?>

//service.php
<?php

include './client.php';

$id_array=array('id'=>'1');
echo $client->getName($id_array);
?>

1 Ответ

0 голосов
/ 06 ноября 2019

Метод client :: getName должен возвращать значение из __soapCall, в настоящее время возвращается void, поэтому вы ничего не видите

public function getName($id_array)
{
    return $this->instance->__soapCall('getStudentsName' , $id_array);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...