Autor Tema: (solucionado)Pasar valores de variables de vb6 a php  (Leído 11728 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #15 en: Abril 19, 2015, 03:39:58 pm »
Estimado ardEric
 
Para trabajar con webservices (SOAP o REST) hay que tener en mente dos conceptos que son Serializar y Desearizar. En tal sentido todo lo que le envíes (Request) o recibas (Response) de un webservice, sea formato XML o JSON, debe de estar Serializado. Esto quiere decir que lo que se envía o recibe es una única cadena de texto. Por el lado del cliente, quien es el que consume el webservice, para poder mostrar los resultados tienes que Desearizar la cadena de texto que haz recibido. Para sesearizar se hace un Parser (Clase, Modulo o DLL) al que le pasas la cadena de texto y este te entrega puntualmente el valor que le solicitas.
 
Hecha esta pequeña explicación, paso a dar respuesta a tu pregunta.
 
En XML el texto se ve así <?xml version="1.0" ?>, sin embargo, en VB se va presentar un problema al querer  asignar dicho texto a una variable. Este problema se producido por las comillas dobles (), para dar solución a este problema tienes que usar comillas triples (“””) al momento que haces la concatenación. Otra alternativa, en la concatenación, es usar Chr(34) para reemplazar las comillas dobles (). Y por último, dentro de la cadena de texto reemplaza cada comilla simple (") por comilla doble ("")
 
En código se vería así (cualquiera de las tres formas da el mismo resultado <?xml version="1.0" ?>
1. Usando comillas triple:
        strReq = "<?xml version=" & """1.0""" & " ?>"
2. Usando  Chr(34):
        strReq = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " ?>"
3. Usando  comilla doble dentro de la cadena de texto:
        strReq = "<?xml version=""1.0"" ?>"

 
Para probar, en la ventana Inmediato (Ctrl + G), ejecuta lo siguiente (el símbolo de interrogación (?) delante del texto hace un print en la ventana Inmediato)
?"<?xml version=" & """1.0""" & " ?>"

 
El resultado veras que es el texto que se necesita:
<?xml version="1.0" ?>

 
Finalmente ¿Por qué uso & _ al final de la cadena?
Pues como ya lo había explicado el XML tiene que estar serializado y lo que estoy haciendo es serializarlo manualmente

 

Saludos, desde algún lugar de Lima-Perú
« última modificación: Abril 19, 2015, 08:48:10 pm por Albertomi »
Saludos, desde algún lugar de Lima-Perú

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #16 en: Abril 19, 2015, 04:10:05 pm »
ok amigo entendido tratare de ver si con librerias puedo ejecutar tu ejemplo por que asi nada mas no me funiona ami amigo
No he fracasado. He encontrado 10000 soluciones que no funcionan.

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #17 en: Abril 19, 2015, 04:33:26 pm »
pues fijate amigo que ya lo trate haciendo incluyendo las librerias xml y nada mas al ejecutarse no pasa nada como si no se ejecutara   :'( no se que estare haciendo mal simplemente es como si nada pasar ni en la venta de inmediato
No he fracasado. He encontrado 10000 soluciones que no funcionan.

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #18 en: Abril 20, 2015, 04:43:36 am »
Estimado aedEric
 
Listo, solucione el problema de la estructura XML no valida. La nueva estructura la puedes apreciar en la siguiente imagen;  en donde he marcado 3 zonas en donde la "Header" y el "Footer" no cambian, solo cambia el "Body" que es donde se realiza la invocación al método.
 


Para que se te sea más fácil he publicado el código. Le he adicionado la clase MD5 que se encarga de encriptar la contraseña, he eliminado los llamados a CreateObject y le he  agregado una referencia Microsoft XML, v6.0, quizás tengas que editar la referencia a la versión que tengas instalada en tus PC. Por otro lado, a manera de ejemplo solo he implementado consumir el Método ReservaTopUp, para mostrar los resultados en el TextBox he implementado un Parser para el XML que retorna el webservice.

En las imágenes se aprecia la respuesta del webservice, en la primera imagen es cuando se invoca por primera vez el método y la segunda imagen es cuando se vuelve a invocar el método.
 

 

 
El código fuente lo puedes descargar del siguiente URL http://1drv.ms/1J1BcQd


 
Saludos, desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #19 en: Abril 20, 2015, 12:09:18 pm »
hola Albertomi wooow  ;D quedo super bien pues muchisimas gracias por tomarte tu tiempo para hacer esto cheque el Parser xml  agrege otras para otros servicios y funciono perfecto mil gracias seguire analizando tu codigo para entender totalmente su funcionamiento gracias de nuevo saludos
No he fracasado. He encontrado 10000 soluciones que no funcionan.

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:Pasar valores de variables de vb6 a php
« Respuesta #20 en: Abril 20, 2015, 07:34:13 pm »
solucionado amigo Albertomi mil gracias
« última modificación: Abril 20, 2015, 08:55:33 pm por aedEric »
No he fracasado. He encontrado 10000 soluciones que no funcionan.

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:(solucionado)Pasar valores de variables de vb6 a php
« Respuesta #21 en: Febrero 07, 2017, 06:47:34 pm »
tendras el proyecto, muchas gracias
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"