<?php

require_once(dirname(__FILE__)."/soap/nusoap.php"); // Подключаем NuSOAP

// функция для формирования запроса к серверу
function call_soap_server($soap_server, $server_method, $input)
{
	// Создаем экземпляр клиента
	$client_soap = new soap_client($soap_server); // Посмотрите как в вашей библиотеке определен класс: soap_client или soapclient

	// Проверяем, возникла ли ошибка
	$err = $client_soap->getError();
	if ($err) { // Отображаем ошибку
		die('Ошибка: '.$err); // Можно вызвать собственный обработчик ошибок
	}

	$input['login'] = "_____ВАШ ЛОГИН______";
	$input['password'] = "_______ВАШ ПАРОЛЬ_______";
	$input['uri'] = $_SERVER['REQUEST_URI'];
	$input["request"] = $_REQUEST;

	$result = $client_soap->call(
    	$server_method, // название метода
    	array('input' => $input)
	);

	// Проверяем, возник ли сбой
	if ($client_soap->fault)
	{
    	echo 'Сбой: ';
    	print_r($result);
		exit(); // Можно вызвать собственный обработчик ошибок
	}

	// Проверяем, возникла ли ошибка
	$err = $client_soap->getError();
	if($err) {
		echo "Сервис временно не доступен";
		die('Ошибка: '.$err); // Можно вызвать собственный обработчик ошибок
	}

	return $result;
}

$server = "http://visitexpo.ru/server_expo_new.php";

if (isset($_GET["expo"])) {
	$action = "request_expo";
	$input = array (
		'expo' => $_GET["expo"],
		"lang" => "rus",
		"encoding" => "utf-8",
	);
} else {
	$action = "request_expo_list";
	$input = array (
		"lang" => "rus",
		"page" => isset($_GET["page"]) ? $_GET["page"] : 1,
		"per_page" => 20,
		"date_from" => "-5 month",
		"city" => "Москва, Санкт-петербург",
		"theme" => "579,636,637,233,170",
		"sort_by" => "date",
		"sort_dir" => "DESC",
		"encoding" => "utf-8",
	);
}

$result_base64 = call_soap_server($server, $action, $input); // обращение к сервису
$result = base64_decode($result_base64);

?>

<html>
<head>
	<link href="expo.css" type="text/css" rel="stylesheet" />
</head>
<body>
	<?=$result?>
</body>
</html>