当前位置: 首页>>代码示例>>PHP>>正文


PHP SoapServer::fault方法代码示例

本文整理汇总了PHP中SoapServer::fault方法的典型用法代码示例。如果您正苦于以下问题:PHP SoapServer::fault方法的具体用法?PHP SoapServer::fault怎么用?PHP SoapServer::fault使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SoapServer的用法示例。


在下文中一共展示了SoapServer::fault方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: PanamericanaServer

 public function PanamericanaServer()
 {
     $server = new SoapServer("Oris.wsdl");
     $server->setClass("Metodos");
     try {
         $server->handle();
     } catch (Exception $e) {
         $server->fault('Sender', $e->getMessage());
     }
 }
开发者ID:tsyacom,项目名称:panamericanaWS_H2H,代码行数:10,代码来源:indexController.php

示例2: handleRequest

 /**
  * Handle the service request
  */
 protected function handleRequest()
 {
     $server = new \SoapServer(null, ['uri' => $this->getServiceUri()]);
     /** @var object $object */
     $object = GeneralUtility::makeInstance($this->serverClass);
     $server->setObject($object);
     try {
         $server->handle();
     } catch (\Exception $ex) {
         $server->fault($ex->getCode(), $ex->getMessage());
     }
 }
开发者ID:sirdiego,项目名称:autoloader,代码行数:15,代码来源:SoapServer.php

示例3: _execute

 /**
  * Execução de Serviço
  *
  * Construção de Serviços para determinados elementos do sistema, utilizando
  * ações nesta controladora para acesso. Esta inicialização deve ser
  * efetuada somente uma vez por requisição.
  *
  * @param  string $element Nome do Serviço para Execução
  * @return null
  */
 protected function _execute($element)
 {
     // Desabilitar Layout
     WSL_Controller_Front::getInstance()->getConfig()->setParam('Layout.enabled', false);
     // Inicialização
     $service = new SoapServer(null, array('uri' => 'tns:' . $element . 'Service'));
     // Configurar Classe
     $service->setClass('Service_' . $element);
     // Tratamento de Requisição
     try {
         $service->handle();
     } catch (Exception $e) {
         // Tratamento de Erro
         $service->fault('Server', $e->getMessage());
     }
 }
开发者ID:laiello,项目名称:wanderson,代码行数:26,代码来源:Services.php

示例4: panamericana

 public function panamericana($wsdl = false)
 {
     if (!$wsdl) {
         $this->loadController('metodosController');
         $server = new SoapServer(ROOT . 'public' . DS . 'panamericana.wsdl');
         $server->setClass('metodosController');
         /*
                     $tz = date_default_timezone_get();
                     $header = new SoapHeader('urn:pc_SOAP_return_time', 'get_timezone', $tz);
                     $server->addSoapHeader($header);
         */
         try {
             $server->handle();
         } catch (Exception $e) {
             $server->fault('Sender', $e->getMessage());
         }
     } else {
         $this->_view->renderizaWSDL('panamericana');
     }
 }
开发者ID:tsyacom,项目名称:panamericanaWS_H2H,代码行数:20,代码来源:serverController.php

示例5: catch

//
$request = "REQUEST:";
global $requestContents;
$requestContents = "\n" . file_get_contents('php://input') . "\n";
LogMsg(2, $request . $requestContents);
ob_start();
try {
    $server->handle();
} catch (Exception $e) {
    logMsg(0, "exception: " . $e->getMessage());
    $errorId2msgId = array('Server.ServiceUnknownError' => l10n("MSG_SOAPFAULT_SERVICE_UNKNOWN_ERROR"), 'Server.ServiceUnavailable' => l10n("MSG_SOAPFAULT_SERVICE_UNAVAILABLE"), 'Client.SessionIdInvalid' => l10n("MSG_SOAPFAULT_SESSION_ID_INVALID"), 'Client.LoginInvalid' => l10n("MSG_SOAPFAULT_LOGIN_UNAUTHORIZED"), 'Client.LoginDisabled' => l10n("MSG_SOAPFAULT_LOGIN_DISABLED"), 'Client.LoginUnauthorized' => l10n("MSG_SOAPFAULT_LOGIN_UNAUTHORIZED"), 'Client.DeviceLimit' => l10n("MSG_SOAPFAULT_DEVICE_LIMIT"), 'Client.UnsupportedTerritory' => l10n("MSG_SOAPFAULT_UNSUPPORTED_TERRITORY"), 'Client.ItemNotFound' => l10n("MSG_SOAPFAULT_ITEM_NOT_FOUND"));
    $requestContents = "\n" . file_get_contents('php://input') . "\n";
    // reset this to just the input on any fault
    $transittime = number_format(microtime(true) - $start, 6);
    logMsg(0, $request . $requestContents . "\nRESPONSE ({$transittime}): ERROR: " . $errorId2msgId[$e->getMessage()] . ' (' . $e->getCode() . ': ' . $e->getFile() . ':' . $e->getLine() . ")\n" . "---------------------------------------------------\n");
    $server->fault($e->getMessage(), $errorId2msgId[$e->getMessage()] . ' (' . $e->getCode() . ': ' . $e->getFile() . ':' . $e->getLine() . ')');
    // $server->fault ends processing, so this line is never reached.
}
$response = ob_get_contents();
$size = strlen($response);
$sizemsg = "{$size} bytes";
/////////////////////////////////////////////////////////////////////////////
//
// Encode long responses using GZIP
//
// KLUDGE: This appears to be quite broken...
//
if (0) {
    if (function_exists("gzencode") && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) {
        if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) {
            $encoding = 'x-gzip';
开发者ID:roitiger,项目名称:sonosmusix,代码行数:31,代码来源:SonosAPI.php

示例6: Factory

                $current_company = $clf->getByID($current_user->getCompany())->getCurrent();
                if (is_object($current_company)) {
                    Debug::text('Handling SOAP Call To API Factory: ' . $class_name . ' UserName: ' . $current_user->getUserName(), __FILE__, __LINE__, __METHOD__, 10);
                    $soap_server->setClass($class_name);
                    //$soap_server->setPersistence( SOAP_PERSISTENCE_SESSION );
                    $soap_server->handle();
                    //var_dump( $_SESSION );
                } else {
                    Debug::text('Failed to get Company Object!', __FILE__, __LINE__, __METHOD__, 10);
                }
            } else {
                Debug::text('Failed to get User Object!', __FILE__, __LINE__, __METHOD__, 10);
            }
        } else {
            Debug::text('Class Factory does not exist!', __FILE__, __LINE__, __METHOD__, 10);
            $soap_server->fault(9800, 'Class Factory (' . $class_name . ') does not exist!');
        }
    } else {
        TTi18n::chooseBestLocale();
        //Make sure we set the locale as best we can when not logged in
        Debug::text('User not authenticated! Session likely timed out.', __FILE__, __LINE__, __METHOD__, 10);
        //$soap_server->fault( 9900, 'Session timed out, please login again.');
        $soap_server->setClass('APIAuthentication');
        //Allow checking isLoggedIn() and logging in again here.
        $soap_server->handle();
        //PHP appears to exit in this function if there is an error.
    }
} else {
    TTi18n::chooseBestLocale();
    //Make sure we set the locale as best we can when not logged in
    Debug::text('SOAP UnAuthenticated!', __FILE__, __LINE__, __METHOD__, 10);
开发者ID:alachaum,项目名称:timetrex,代码行数:31,代码来源:api.php

示例7: handle

 /**
  * Manipular Requisição
  *
  * Verifica se na requisição está sendo solicitada a especificação WSDL do
  * conteúdo do serviço que deve ser apresentado, enviando as configurações
  * solicitadas para o cliente. Caso contrário, executa o servidor com a
  * classe configurada no momento da inicialização do objeto.
  *
  * @return WSL_Soap_Server Próprio Objeto para Encadeamento
  */
 public function handle()
 {
     // Existe parâmetro WSDL?
     if (array_key_exists('WSDL', $_GET)) {
         // Exibir Configurações
         if (!headers_sent()) {
             header('Content-Type: text/xml');
         }
         // Conteúdo na Saída Padrão
         file_put_contents('php://output', $this);
     } else {
         // Capturar Conteúdo de Entrada
         $content = file_get_contents('php://input');
         // Construção do Servidor
         $server = new SoapServer($this->getUri() . '?WSDL');
         $server->setClass($this->getClass());
         try {
             // Execução
             $server->handle($content);
         } catch (Exception $e) {
             // Apresentar Erro
             $server->fault($e->getCode(), $e->getMessage());
         }
     }
     // Encadeamento
     return $this;
 }
开发者ID:laiello,项目名称:wanderson,代码行数:37,代码来源:Server.php

示例8: authenticate

include_once "moodleplugin.php";
ini_set('soap.wsdl_cache_enabled', 0);
$server = new SoapServer("moodleplugin.wsdl", array('soap_version' => SOAP_1_2, 'encoding' => "UTF-8"));
$server->setClass("MoodlePlugin");
session_start();
session_name('PHPMOODLEWSSESSID');
/*if (!(adminlogin($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']))) { // Check username and password
		authenticate(); // Send basic authentication headers because username and/or password didnot match
		}
	else {*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $server->setPersistence(SOAP_PERSISTENCE_REQUEST);
    try {
        $server->handle();
    } catch (Exception $exc) {
        $server->fault($exc->getCode(), $exc->getMessage());
    }
} else {
    #output function list of webserver
    $functions = $server->getFunctions();
    foreach ($functions as $func) {
        echo $func . "<br>";
    }
}
//}
// Call authentication display
function authenticate()
{
    Header("WWW-Authenticate: Basic");
    Header("HTTP/1.0 401 Unauthorized");
    echo "error";
开发者ID:BackupTheBerlios,项目名称:moodlews-svn,代码行数:31,代码来源:serversoap.php

示例9: catch

//listSamples        - required for CartWrapper
//listProjects       - required for CartWrapper
//canListSamples     - required for CartWrapper
// Implemented WSDL operations
$server->addFunction("getPlateInfo");
$server->addFunction("getImagingTasks");
$server->addFunction("imagingPlate");
$server->addFunction("imagedPlate");
$server->addFunction("skippedImaging");
$server->addFunction("updatedPriority");
$server->addFunction("uploadImages");
/*******************************************************************
********************** END SOAPSERVER SETUP ************************
*******************************************************************/
/*******************************************************************
********************** HANDLE SOAP REQUESTS ************************
*******************************************************************/
// Handle the SOAP request
try {
    // ob_start();
    $server->handle();
    // $xml = ob_get_contents();
    // ob_end_clean();
    // error_log($xml);
    // echo $xml;
} catch (Exception $e) {
    $server->fault('Sender', $e->getMessage());
}
?>

开发者ID:KarlLevik,项目名称:SynchWeb,代码行数:29,代码来源:index.php

示例10: run

 /**
  * Handles the web service request.
  */
 public function run()
 {
     header('Content-Type: text/xml;charset=' . $this->encoding);
     if (YII_DEBUG) {
         ini_set("soap.wsdl_cache_enabled", 0);
     }
     list(, $hash) = explode(' ', \Yii::$app->getRequest()->getHeaders()->get('authorization') . ' ');
     $auth = $hash ? base64_decode($hash) . '@' : '';
     $server = new \SoapServer(str_replace('http://', 'http://' . $auth, $this->wsdlUrl), $this->getOptions());
     try {
         if ($this->persistence !== null) {
             $server->setPersistence($this->persistence);
         }
         if (is_string($this->provider)) {
             $provider = $this->provider;
             $provider = new $provider();
         } else {
             $provider = $this->provider;
         }
         $server->setObject($provider);
         ob_start();
         $server->handle();
         $soapXml = ob_get_contents();
         ob_end_clean();
         return $soapXml;
     } catch (Exception $e) {
         if ($e->getCode() !== self::SOAP_ERROR) {
             // only log for non-PHP-error case because application's error handler already logs it
             // php <5.2 doesn't support string conversion auto-magically
             \Yii::error($e->__toString());
         }
         $message = $e->getMessage();
         if (YII_DEBUG) {
             $message .= ' (' . $e->getFile() . ':' . $e->getLine() . ")\n" . $e->getTraceAsString();
         }
         // We need to end application explicitly because of
         // http://bugs.php.net/bug.php?id=49513
         $server->fault(get_class($e), $message);
         exit(1);
     }
 }
开发者ID:subdee,项目名称:yii2-soap-server,代码行数:44,代码来源:SoapService.php

示例11: runController

 /**
  * Run the route action and return the response.
  *
  * @param Request $request
  * @return mixed
  * @throws NotFoundHttpException
  * @throws \SoapFault
  */
 protected function runController(Request $request)
 {
     list($class, $method) = explode('@', $this->action['uses']);
     $parameters = $this->resolveClassMethodDependencies($this->parametersWithoutNulls(), $class, $method);
     if (!method_exists($instance = $this->container->make($class), $method)) {
         throw new NotFoundHttpException();
     }
     try {
         $soapServer = new \SoapServer($this->getWsdlPath());
     } catch (\SoapFault $e) {
         throw new \SoapFault(500, 'The application encountered an unexpected error.');
     }
     try {
         $soapHandler = $this->container->make('MultiRouting\\Adapters\\Soap\\Request\\Handlers\\Handler', [$instance, $method, $parameters]);
         $soapServer->setObject($soapHandler);
         $soapServer->handle();
     } catch (\Exception $e) {
         $soapServer->fault($e->getCode(), $e->getMessage());
     }
 }
开发者ID:bogdananton,项目名称:multi-routing,代码行数:28,代码来源:Route.php

示例12: autoinclude

<?php

require_once 'Ahorcado.class.php';
function autoinclude($className)
{
    $className = str_replace('\\', '/', $className) . '.php';
    require_once $className;
}
spl_autoload_register('autoinclude');
if (isset($_GET['wsdl'])) {
    header('Content-Type: application/soap+xml; charset=utf-8');
    echo file_get_contents('Ahorcado.wsdl');
} else {
    session_start();
    if (!isset($_SESSION['service'])) {
        $_SESSION['service'] = new Ahorcado();
    }
    $servidorSoap = new SoapServer('C:\\Users\\Iva\\Documents\\II-2015\\Apps\\TareaWebService\\TPRepo\\Ahorcado.wsdl');
    //poner la ruta en tu compu
    //Para evitar la excepción por defecto de SOAP PHP cuando no existe HTTP_RAW_POST_DATA,
    //se regresa explícitamente el siguiente fallo cuando no hay solicitud (v.b. desde un navegador)
    if (!@$HTTP_RAW_POST_DATA) {
        $servidorSoap->fault('SOAP-ENV:Client', 'Invalid Request');
        exit;
    }
    $servidorSoap->setObject(new Zend\Soap\Server\DocumentLiteralWrapper($_SESSION['service']));
    $servidorSoap->setPersistence(SOAP_PERSISTENCE_SESSION);
    $servidorSoap->handle();
}
开发者ID:kalita09,项目名称:TC5,代码行数:29,代码来源:index.php

示例13: ns1_filter

		die($e->getMessage());
	}
}

function ns1_filter($input) {
	$search = '/ns1/';
	$replace = 'cwmp';
	$output = preg_replace($search, $replace, $input);
	return $output;
}

$server = new SoapServer(NULL,array(
	'location' => "http://10.0.0.1:80/wsdl/acs.php",
	'uri' => "urn:dslforum-org:cwmp-1-0"
));
if ($_SERVER['REQUEST_METHOD'] !== "POST") $server->fault('Sender',"ONLY POST METHOD SUPPORTED");
$server->setClass('ACS');
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
try {
	switch ($HEADERS["Content-Length"]) {
		case 0:
			$server->handle(file_get_contents('finish.xml'));
		break;
		default: $server->handle();
	}
} catch (Exception $e) {
	$server->fault('Sender',$e->getMessage());
}

ob_end_flush();
?>
开发者ID:vehery,项目名称:acs-php,代码行数:31,代码来源:acs.php

示例14: test1

EOF;
$request2 = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test2/></SOAP-ENV:Body></SOAP-ENV:Envelope>
EOF;
class SoapFaultTest
{
    public function test1()
    {
        //  Test #1
        return 'Test #1 exception with some special chars: Äßö';
    }
    public function test2()
    {
        //  Test #2
        //throw new SoapFault('Server', 'Test #2 exception with some special chars: Äßö');
        throw new Exception('Test #2 exception with some special chars: Äßö');
    }
}
$server = new SoapServer(null, array('uri' => "http://127.0.0.1:8080/test/", 'encoding' => 'ISO-8859-1'));
$server->setClass('SoapFaultTest');
try {
    $server->handle($request1);
} catch (Exception $e) {
    $server->fault("Sender", $e->getMessage());
}
try {
    $server->handle($request2);
} catch (Exception $e) {
    $server->fault("Sender", $e->getMessage());
}
开发者ID:lsqtongxin,项目名称:hhvm,代码行数:31,代码来源:bug47273.php

示例15: runController

 /**
  * Run the route action and return the response.
  *
  * @param Request $request
  * @return mixed
  * @throws NotFoundHttpException
  * @throws \SoapFault
  */
 protected function runController(Request $request)
 {
     list($class, $method) = explode('@', $this->action['uses']);
     $parameters = $this->resolveClassMethodDependencies($this->parameters(), $class, $method);
     $options = [];
     $optionsAlias = 'multirouting.adapters.soap.server.options';
     if ($this->container->bound($optionsAlias)) {
         $options = $this->container->make($optionsAlias);
     }
     try {
         $soapServer = new \SoapServer($this->getWsdlPath(), $options);
     } catch (\SoapFault $e) {
         throw new \SoapFault('500', 'The application encountered an unexpected error.');
     }
     if (!method_exists($instance = $this->container->make($class), $method)) {
         $soapServer->fault('500', 'The application encountered an unexpected error.');
     }
     ob_start();
     try {
         $proxyAlias = 'multirouting.adapters.soap.request.proxy';
         if ($this->container->bound($proxyAlias)) {
             /** @var ProxyInterface $proxyInstance */
             $proxyInstance = $this->container->make($proxyAlias);
             $proxyInstance->setMatchedInstance($instance);
             $proxyInstance->setMatchedMethod($method);
             $proxyInstance->setMatchedParameters($parameters);
             $instance = $proxyInstance;
         }
         $soapServer->setObject($instance);
         $soapServer->handle();
         $statusCode = 200;
     } catch (\Exception $e) {
         $soapServer->fault($e->getCode(), $e->getMessage());
         $statusCode = 500;
     }
     $responseContent = ob_get_contents();
     $headers = headers_list();
     ob_end_clean();
     $responseHeaders = [];
     foreach ($headers as $header) {
         list($key, $value) = explode(':', $header, 2);
         $responseHeaders[trim($key)] = trim($value);
     }
     return new Response($responseContent, $statusCode, $responseHeaders);
 }
开发者ID:neneax,项目名称:multi-routing,代码行数:53,代码来源:Route.php


注:本文中的SoapServer::fault方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。