Задать вопрос
AlexEternal
@AlexEternal

Soap-server не возвращает ничего. Как исправить эту ошибку?

Здравствуйте, ребят. Разработал, ну как разработал, делал всё по схемам в интернете, своё Soap-серверное приложение. Также по схеме написал WSDL . Вот исходники.
News.php
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
require_once("DB_Connect.php");
class news {
    function getByID ($id) {
        $ret=mysql_query("select * from followers where id=$id");
        $ret=mysql_fetch_row($ret);
        return $ret;
   }
}
#$rt=new news();
#echo "<pre>";
#print_r($rt->getByID(1));
#    echo "</pre>";
$server = new SoapServer("news.wsdl");
$server->setClass("news");
$server->handle();
?>

client.php
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
$client = new SoapClient("http://bigben.ru/news.wsdl");
  try {
    $req="ibm";
    echo "<pre>[Request] =></b>\n[Answer] => <b>";
    print_r($client->getByID(1));
    echo "</b>\n</pre>\n";
  } catch (SoapFault $exception) {
    echo $exception;
  }
?>

DB_Connect.php
<?php 
$db=mysql_connect('localhost','root');
if (!$db)
    {
        echo "Unable to connect to DB: " . mysql_error();
        exit;
    }
if (!mysql_select_db('test'))
    {
        echo "Unable to select mydbname: " . mysql_error();
        exit;
    }
mysql_query("set character set utf8");
?>


news.wsdl
<?xml version='1.0' encoding='UTF-8'?>
<definitions 
name="news" 
targetNamespace="urn:news" 
xmlns:typens="urn:news" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns="http://schemas.xmlsoap.org/wsdl/" 
xmlns:typens0="http://bigben.ru/news.php">
    <message name="getByID">
        <part name="id"/>
    </message>
    <message name="getByIDResponse">
        <part name="getByIDReturn"/>
    </message>
    <portType name="newsPortType">
        <operation name="getByID">
            <input message="typens:getByID"/>
            <output message="typens:getByIDResponse"/>
        </operation>
    </portType>
    <binding name="newsBinding" type="typens:newsPortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="getByID">
            <soap:operation soapAction="urn:newsAction"/>
            <input>
                <soap:body namespace="urn:news" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </input>
            <output>
                <soap:body namespace="urn:news" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </output>
        </operation>
    </binding>
    <service name="newsService">
        <port name="newsPort" binding="typens:newsBinding">
            <soap:address location="http://bigben.ru/news.php"/>
        </port>
    </service>
</definitions>


Я создал таблицу followers в мускуле.Добавил данных, в неё. Обращаюсь с помощью локальной машины к bigben.ru/news.php - это же вроде в моём случае является клиентом. Так вот, изначально были ошибки с авторизацией, потом я их решил, теперь при обращении к клиенту просто пустое окно. Можете подсказать, что неправильно я сделал или из-за чего такая проблема. Не ругайтесь сильно, но критику жду.
  • Вопрос задан
  • 624 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Centrino
Постарайтесь залогировать для начала, что вы получаете, когда идет запрос к серверу, идет ли вообще запрос на ваш сервер, есть ли попытка выбрать из базы данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы