Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2012, 17:24
daenor
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Pregunta Consumir SOAP con PHP, Ayuda con el codigo PHP?

Muy buenas noches Comunidad!

Ante todo, he leido las ayudas y otros temas dentro del foro y en mucho han sido de ayuda para la comprensión del funcionamiento de un SOAP
En lo que respecta a como funciona un ws no hay dudas.

Mi duda o desconocimiento, está en que no se como comunicarme con el servidor.
Lo he intentado con Nusoap, pero no logro hacerlo funcionar.
Lo que busco particularmente es un ejemplo de como deberia armar un PHP para poder comunicarme con un web service.

Los datos que me dieron son los siguientes:
1) Usuario del ws: USUARIO
2) Clave de usuario: PASSWORD
3) Nombre de la aplicacion: APLICACION
4) Nombre de usuario para esa aplicacion: USERNAME

5) Endpoint
6) WSDL en Test

Estas dos ultimas, 5 y 6, las separo porque no comprendo tampoco la diferencia entre uno y otro. ¿ Seria mucha molesta si alguien la describe rapidamente ?

Primero abro el XML:
Código XML:
Ver original
  1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cot="http://xmlns.EMPRESA.com/Core/EBM/Vehiculo/CotizacionVehiculo" xmlns:ebm="http://xmlns.EMPRESA.com/CommonCore/EBM" xmlns:con="http://xmlns.EMPRESA.com/Core/EBO/EMPRESA/CondicionesContratacion">

Según me comentaron en el documento del pedido, el header tiene que estar siempre y con este formato:

Código XML:
Ver original
  1. <soapenv:Header>
  2.     <user>USUARIO</user>
  3.     <pwd>PASSWORD</pwd>
  4. </soapenv:Header>


Y luego el cuerpo del mensaje, asi:
Código XML:
Ver original
  1. <soapenv:Body>
  2.     <cot:CalcularCotizacionVehiculoEBM>
  3.       <ebm:EBMHeader>
  4.         <ebm:Sender>
  5.           <ebm:userName>USERNAME</ebm:userName>
  6.           <ebm:Application>APLICACION</ebm:Application>
  7.           <ebm:Country>ARG</ebm:Country>
  8.         </ebm:Sender>
  9.         <ebm:Target>EMPRESA</ebm:Target>
  10.       </ebm:EBMHeader>
  11.       <cot:DataArea> --- Otros datos </cot:DataArea>
  12.     </cot:CalcularCotizacionVehiculoEBM>
  13.   </soapenv:Body>


Cierro el codigo:
Código XML:
Ver original
  1. </soapenv:Envelope>


Hasta aquí todo perfecto, ya que comprendo la estructura del XML y demas.... pero como lo aplico?
Si no me equivoco, debo enviar esta estructura al WSDL pero de que manera?
Como me conecto y envio esta estructura?

Finalmente, obtendría una respuesta también en XML a la estructura que estoy enviando, la cual supongo que debo parsear y utilizar para exponerla online.


Bien, espero haber sido claro.
Como les comentaba, comprendo gran parte del proceso, pero necesito comprender que o como debo hacer para utilizar todo.

Saludos y gracias!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio

Última edición por daenor; 25/03/2012 a las 18:07 Razón: Mejorar explicación del tema en el titulo