веб-сервисы — как я могу добавить тип ошибки в функцию с nusoap php?

Я должен клонировать веб-сервис, использующий его, тогда у меня есть сервис, который использует другой сервис, используя php и nusoap, это сервис, который я должен использовать: http://pruebas.ecodex.com.mx:2044/ServicioSeguridad.svc?wsdl а это мой wsdl https://timbrado1.dcigroupmexico.com.mx/ServicioSeguridad.php?wsdl это мой код для генерации wsdl:

ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
include_once('includes.php');

class ServicioSeguridad
{
private $_soapServer = null;

public function __construct()
{
$this->_soapServer = new soap_server();
$this->_soapServer->configureWSDL("ServicioSeguridad" );

#elements/complexTypes{
#SolicitudObtenerToken{
$this->_soapServer->wsdl->addElement(
array('name'    =>'SolicitudObtenerToken',
'nillable'=>'true',
'type'    =>'SolicitudObtenerToken')
);
$this->_soapServer->wsdl->addComplexType(
'SolicitudObtenerToken',
'complexType',
'struct',
'sequence',
'',
array(
'RFC'          => array('name'     =>'RFC',
'type'     =>'xsd:string',
'nillable' =>'true',
'minOccurs'=>'0'),

'TransaccionID'=> array('name'     =>'TransaccionID',
'type'     =>'xsd:long',
'minOccurs'=>'0')
)
);
#}
#RespuestaObtenerToken{
$this->_soapServer->wsdl->addElement(
array('name'    =>'RespuestaObtenerToken',
'nillable'=>'true',
'type'    =>'RespuestaObtenerToken')
);
$this->_soapServer->wsdl->addComplexType(
'RespuestaObtenerToken',
'complexType',
'struct',
'sequence',
'',
array(
'Token'        => array('name'     =>'Token',
'type'     =>'xsd:string',
'nillable' =>'true',
'minOccurs'=>'0'),

'TransaccionID'=> array('name'     =>'TransaccionID',
'type'     =>'xsd:long',
'minOccurs'=>'0')
)
);
#}
#FallaServicio{
$this->_soapServer->wsdl->addElement(
array('name'    =>'FallaServicio',
'nillable'=>'true',
'type'    =>'FallaServicio')
);
$this->_soapServer->wsdl->addComplexType(
'FallaServicio',
'complexType',
'struct',
'sequence',
'',
array(
'RFC'        =>array('name'    =>'RFC',
'type'    =>'xsd:string',
'nillable'=>'true'),

'Numero'     =>array('name'=>'Numero',
'type'=>'xsd:int'),

'Descripcion'=>array('name'     =>'Descripcion',
'type'     =>'xsd:string',
'nillable' =>'true',
'minOccurs'=>'0'),

'Evento'    =>array('name'      =>'Evento',
'type'     =>'xsd:string',
'nillable' =>'true',
'minOccurs'=>'0')
)
);
#}
#FallaSesion{
$this->_soapServer->wsdl->addElement(
array('name'    =>'FallaSesion',
'nillable'=>'true',
'type'    =>'FallaSesion')
);
$this->_soapServer->wsdl->addComplexType(
'FallaSesion',
'complexType',
'struct',
'all',
'',
array(
'RFC'        =>array('name'    =>'RFC',
'type'    =>'xsd:string',
'nillable'=>'true'),

'Estatus'    =>array('name'     =>'Estatus',
'type'     =>'xsd:int',
'minOccurs'=>'0'),

'Descripcion'=>array('name'     =>'Descripcion',
'type'     =>'xsd:string',
'nillable' =>'true',
'minOccurs'=>'0')
)
);
#}


#}
$this->_soapServer->register(
'Seguridad.ObtenerToken', // method name
array('SolicitudObtenerToken'=>'tns:SolicitudObtenerToken'), // input parameters
array('RespuestaObtenerToken' => 'tns:RespuestaObtenerToken'), // output parameters
false, // namespace
false, // soapaction
'rpc', // style
'encoded', // use
'Servicio que regresa un Token' // documentation
);

//procesamos el webservice
$this->_soapServer->service(file_get_contents("php://input"));
//$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
//$this->_soapServer->service($HTTP_RAW_POST_DATA);
}

}
$server = new ServicioSeguridad();

Когда я отправляю информацию правильно, она отвечает без проблем, но проблема заключается в том, что я возвращаю ошибку службе, поскольку они не добавляются в функцию, происходит сбой, потому что объектов там нет. Оригинальный код:

    <wsdl:portType name="Seguridad">
<wsdl:operation name="ObtenerToken">
<wsdl:input wsaw:Action="http://Ecodex.WS.Model/2011/CFDI/Seguridad/ObtenerToken" name="SolicitudObtenerToken" message="tns:SolicitudObtenerToken"/>
<wsdl:output wsaw:Action="http://Ecodex.WS.Model/2011/CFDI/Seguridad/ObtenerTokenResponse" name="RespuestaObtenerToken" message="tns:RespuestaObtenerToken"/>
<wsdl:fault wsaw:Action="http://Ecodex.WS.Model/2011/CFDI/Seguridad/ObtenerTokenFallaServicioFault" name="FallaServicioFault" message="tns:Seguridad_ObtenerToken_FallaServicioFault_FaultMessage"/>
<wsdl:fault wsaw:Action="http://Ecodex.WS.Model/2011/CFDI/Seguridad/ObtenerTokenFallaSesionFault" name="FallaSesionFault" message="tns:Seguridad_ObtenerToken_FallaSesionFault_FaultMessage"/>
</wsdl:operation>
</wsdl:portType>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]