![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Este el código del unit generado, tras la importación:
Lo adjunto en un txt, ya que no permite incluirlo en un mensaje, porque sobre pasa la cantidad de caracteres. lo adjunto en el siguiente enlace de pastebin, ya que no logre subirlo al foro http://pastebin.com/gsMqgKwh Toda ayuda es bienvenida. Saludos. Última edición por gersojn fecha: 28-01-2017 a las 03:50:01. Razón: agregar codigo |
|
#2
|
||||
|
||||
|
El codigo que publicaste en el primer mensaje es distinto al ultimo:
Por otra parte, el codigo que publicaste en el segundo mensaje compila y no se da el error que comentas |
|
#3
|
||||
|
||||
|
Otra cosa importante es que no estas inicializando los objetos que estas usando
sugarsoapPortType es una interface, es decir, para poder usarla, debes primero asignar una referencia a un objeto que imlpemente esa interface a la variable. De no hacerlo, la referencia contiene el valor nil. Cualquier metodo que quieras ejecutar sobre una interface que vale nil, produce un error en tiempo de ejecucion EAccessViolation El wizard te genera automaticamente una funcion para crear esta interface, GetsugarsoapPortType Para usar la interface deberias hacer algo como esto:
Esta misma "regla", se cumple para todos los tipos involucrados. Debes inicializarlos (crearlos, ya sea con un constructor, o con una funcion) y luego utilizarlos. Es cierto que existen los llamados "tipos primitivos" (Integer, string, record, etc) que si bien no es necesario resulta importante inicializarlos para darles un valor que tenga sentido: Este codigo no da error, pero que valor tiene la variable I? No hay forma de saberlo ya que I va a tener el valor que estaba almacenado en la direccion de memoria que le fue asignado. Se dice en la jerga que el valor de I es "residuo"
Hago enfasis en esto porque del mismo modo que invocas metodos sobre una interface sin antes inicializarla, y tambien le pasas parametros que no son inicializados Por ejemplo, user_auth es una clase:
Osea que debes inicializar una variable y luego tambien darle valores a sus propiedades internas (user_name y password, sino quedan como string vacios y quiza no tenga sentido, lo ideal seria darle valores concretos) |
|
#4
|
|||
|
|||
|
Hola,
Gracias por la ayuda. Realice la siguiente modificacion sobre el procedimiento:
Al momento de invocar la función, obtengo el siguiente error: Conversion from class TForm1 to SOAP is not supported - SOAP classses must derive from TRemotable No consigo comprender la forma correcta de crear una instancia , para utilizar la función de Login. Toda ayuda, es bienvenida. Saludos. Última edición por gersojn fecha: 28-01-2017 a las 17:51:55. |
|
#5
|
||||
|
||||
|
La verdad es que nunca use SOAP. Yo primero leería la documentación
Luego una guía de un hola mundo está bien para no ir tan a tientas, por ejemplo, esta. En la primer parte crea el servidor también en Delphi, eso te lo podes saltear e ir directo a la parte del cliente |
|
#6
|
|||
|
|||
|
El importador genera una función que devuelve la interfaz a usar, por ejemplo en un importador tengo:
Yo llamo a GetpreventaPortType, y guardo la interfaz del tipo preventaPortType (este es el nombre de mi caso) en una variable, y luego la uso para acceder a los dos métodos download y upload de dicha interfaz, cuando acabas la igualas a nil y se libera. |
|
#7
|
|||
|
|||
|
Gracias a todos
Hola, gracias por la ayuda.
Ya tengo un mes y esto no me funciona para nada. He estado practicando algo sobre WS en Delphi, tanto creando clientes y servidores y todo va perfecto. Pero, en cuanto a el ws antes mencionado siento muy complejo abordarlo desde Delphi. Continué el desarrollo en Php. Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consumir Webservice | darkerbyte | Delphi para la web | 5 | 17-11-2012 20:59:50 |
| webservice WCF | consultasmq | Internet | 0 | 19-03-2012 21:10:00 |
| Consumir WebService. Ayuda con XML,WSDL,XSD,SOAP | josemmerida | Internet | 2 | 23-12-2010 13:37:16 |
| WebService y D4 | Nose | Internet | 1 | 02-08-2005 22:18:23 |
|