Domingo 22 de Diciembre de 2024, 14:32
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Leer XML con nuSoap
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Leer XML con nuSoap (Leído 5749 veces)
JuanImp
Visitante
Leer XML con nuSoap
«
en:
Martes 22 de Febrero de 2011, 23:36 »
0
Hola, llevo todo el día buscando por internet y rompiéndome la cabeza y no he encontrado la solución a este problema:
necesito crear un servidor SOAP para la recepción de la notificación de pagos de un TPV virtual, la página del TPV envía un string con formato XML y en mi servidor nusoap tengo que comprobar el código de error, el problema es que no consigo leer este string desde el servidor.
Este es el código del servidor:
Código: PHP
<?php
require_once
(
'libs/nusoap.php'
)
;
$server
=
new
nusoap_server
;
$server
->
configureWSDL
(
'InotificacionSIS'
,
'url_del_namespace'
)
;
$server
->
wsdl
->
schemaTargetNamespace
=
'url_del_namespace'
;
$server
->
register
(
'procesaNotificacionSIS'
,
array
(
'value'
=>
'xsd:string'
)
,
array
(
'return'
=>
'xsd:string'
)
,
'urn:InotificacionSIS'
,
'urn:InotificacionSIS#procesaNotificacionSIS'
)
;
function
procesaNotificacionSIS
(
$value
)
{
if
(
$value
[
'Ds_Response'
]
==
'0000'
)
{
return
"No ha habido ningun error"
;
}
else
{
return
"Ha ocurrido un error"
;
}
}
$HTTP_RAW_POST_DATA
=
isset
(
$HTTP_RAW_POST_DATA
)
?
$HTTP_RAW_POST_DATA
:
''
;
$server
->
service
(
$HTTP_RAW_POST_DATA
)
;
?>
y este es el código del cliente:
Código: PHP
<?php
require_once
(
'libs/nusoap.php'
)
;
$url
=
"./soap/server.php?wsdl"
;
$client
=
new
nusoap_client
(
$url
)
;
$err
=
$client
->
getError
(
)
;
if
(
$err
)
{
echo
'<p><b>Error: '
.
$err
.
'</b></p>'
;
}
$return
=
$client
->
call
(
'procesaNotificacionSIS'
,
"<Message><Request Ds_Version='0.0'>
<Fecha>01/04/2011</Fecha>
<Hora>16:57</Hora>
<Ds_SecurePayment>1</Ds_SecurePayment>
<Ds_Amount>345</Ds_Amount>
<Ds_Currency>978</Ds_Currency>
<Ds_Order>165446</Ds_Order>
<Ds_MerchantCode>123456</Ds_MerchantCode>
<Ds_Terminal>001</Ds_Terminal>
<Ds_Card_Country>724</Ds_Card_Country>
<Ds_Response>0000</Ds_Response>
<Ds_MerchantData>Alfombrilla para raton</Ds_MerchantData>
<Ds_Card_Type>C</Ds_Card_Type>
<Ds_TransactionType>1</Ds_TransactionType>
<Ds_ConsumerLanguage>1</Ds_ConsumerLanguage>
</Request>
</Message>"
)
;
echo
$return
;
?>
Agradezco vuestras respuestas.
Saludos.
Tweet
F_Tanori
Moderador
Mensajes: 1919
Nacionalidad:
Re: Leer XML con nuSoap
«
Respuesta #1 en:
Miércoles 23 de Febrero de 2011, 12:17 »
0
Pero que error te devuelve?
retorna el string que envias como parametro para asegurar que si estas recibiendo el parametro.
Código: PHP
function
procesaNotificacionSIS
(
$value
)
{
return
$value
;
}
si es asi, puedes leer la cadena como XML, usando simplexml,
http://www.php.net/manual/es/function.s ... string.php
o si requiere un manejo mas complejo de XML
http://www.php.net/manual/es/refs.xml.php
Saludos
" ExIsTo y A vEcEs PiEnSo "
NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================
JuanImp
Visitante
Re: Leer XML con nuSoap
«
Respuesta #2 en:
Jueves 24 de Febrero de 2011, 17:19 »
0
Hola,
lo primero gracias por la respuesta, efectivamente al final conseguí leer la cadena con SimpleXMLElement y ahora se que la conexión al servicio es correcta lo que me da problemas ahora es el envió de otro XML de vuelta al TPV y no se si tiene que ver con la forma de enviar el string:
Código: PHP
$server
->
register
(
'procesaNotificacionSIS'
,
array
(
'value'
=>
'xsd:string'
)
,
array
(
'return'
=>
'xsd:string'
)
,
'urn:InotificacionSIS'
,
'urn:InotificacionSIS#procesaNotificacionSIS'
)
;
o será un problema de recepción de los datos, me he puesto en contacto con el soporte del TPV y cuando tenga una respuesta la publicaré aquí por si alguien tiene el mismo problema.
Saludos.
arkascr
Nuevo Miembro
Mensajes: 1
Nacionalidad:
Re: Leer XML con nuSoap
«
Respuesta #3 en:
Sábado 26 de Febrero de 2011, 15:23 »
0
Hola que tal, me gustaria que pudieras postear tu codigo JuanImp, ya que tengo el mismo problema y necesito realizar la misma funcion, el recibir un String que contiene un XML y en donde tengo que devolver como respuesta otro XML.
Saludos y gracias
JuanImp
Visitante
Re: Leer XML con nuSoap
«
Respuesta #4 en:
Viernes 4 de Marzo de 2011, 10:45 »
0
Hola, pues de momento no he conseguido solucionarlo, el código es el mismo solo que el return es la cadena que el servidor del TPV me pide.
arkascr estas trabajando con un TPV de sermepa?
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Leer XML con nuSoap