anonymous Log in
Search
Recents:
v3.0
internet-l
Problema con webservice SOAP
05/09/19 16:10

manuel11881

Replies: 19

Bruno, buenas tardes
En mi cas,o actualice la versión de genexus a la 16 U5 y me sucedió exactamente lo mismo, la única solución fue subir hasta una version preview (la ultima al día de hoy).
Saludos,
> El 5 set. 2019, a las 13:19, Bruno Camargo <bruno.camar@gmail.com> escribió:
>
>
> Buenas tardes foristas, les mando un problema que estoy teniendo quizá esté errando en algo.
> Estoy con GX15 y GX16 generando C#
>
> Tengo un servicio SOAP que ejecuto en mi localhost y en producción. En ambos casos cuando lo pruebo desde SOAPUI responde y funciona perfectamente.
> El de produccion está generado con GX15 y el de desarrollo en GX16, el proc que es el servicio fue transferido via xpz sin modificarse. En la imagen el de la izq es produccion y el de la derecha es desarrollo:
>
> <image.png>
> Cuando consumo el de desarrollo desde un objeto httpclient me da de salida esto:
>
> <image.png>
>
> Cuando consumo el de produccion desde un objeto httpclient me da de salida esto esto:
> (No SOAP request found.....)
>
> <image.png>
>
> Se agradecen comentarios y aportes
> Saludos
> Bruno
>
>
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,17
Por consultas owner-internet-l@gxtech.com.uy
Replies

leandro79337933

05/09/19 16:38
Hola Bruno, estas usando POST en el HTTPClient donde te da el error? On Thu, Sep 5, 2019 at 1:21 PM Bruno Camargo

bruno.camar

05/09/19 16:44
Si uso POST en ambos casos El jue., 5 sept. 2019 4:39 p. m., Leandro Minatel

bruno.camar

05/09/19 16:46
Yo uso Gx16U3 quizá exista algún tema con el objeto httpclient. El tema es que aún no puedo cambiar a un upgrade nuevo. Ojalá pueda solucionar... Gracias a todos El jue., 5 sept. 2019 4:10 p. m., A/P Manuel Rodriguez Alberti < manuel@mrdesarrollos.com>

leandro79337933

05/09/19 17:00
Hola Bruno, el error "No SOAP request found. Call ....." te lo devuelve el servidor, no es un problema del HTTPClient. Si te fijas el codigo fuente generado por GX, se dispara cuando haces un GET y la QueryString no es "wsdl". Por eso te preguntaba el metodo. Slds On Thu, Sep 5, 2019 at 4:47 PM Bruno Camargo

bruno.camar

05/09/19 17:43
Agrego mas datos...... Si intento agregar via WSDL Import Wizard al webservice que generé *local, *lo importa perfecto. [image: image.png] [image: image.png] Pero cuando intento agregar el webservice de *produccion y le doy al botón NEXT *, me da este error: [image: image.png] En resumen, ¿Cómo puede ser que un webservice SOAP ejecute bien via SOAP UI o cualquiera de estas herramientas, y no pueda ejecutarlo desde un objeto httpclient ? ¿Habrá alguna limitación que no estoy contemplando? Gracias Bruno Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El jue., 5 sept. 2019 a las 17:01, Leandro Minatel ()

Edgar Salgado

05/09/19 17:59
¿Si pones la url http://localhost/pedidomovilpro/aprocesarpedidomovil.aspx?wsdl en el navegador ves el xml?

bruno.camar

05/09/19 18:33
Si perfectamente [image: image.png] Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El jue., 5 sept. 2019 a las 18:18, Edgar Salgado ()

Edgar Salgado

05/09/19 20:23
proba copiarlo del navegador ye intenta de nuevo, debería de poder importar y crearte los sdt, ponele en el folder un nombre para que no quede desparramado por el root, generalmente se usa el mismo que el del Name

jlarrosa

05/09/19 23:21
Hola Bruno, como te comentaban, si importas el servicio, con el Import WSDL e invocas al servicio con el external object te funciona? DE tu llamada Httpclient, podria estar ocurriendo que en el llamado te este faltando un header o algo de la url del servicio, No tenemos registrado de algun cambio en el upgrade que mencionas Lo otro que puedes hacer es generar log, alli deberias ver el request Http que se esta armando y la respuesta del server (y podes enviar ese mismo request con SOAP UI y verificar si es algo del body, cosa que no parece) Proba con esas cosas y sino enviame ya sea ese log que te comente o publica tu servicio con la propiedad deploy to cloud y pasame la Url que armamos un ejemplo Saludos Javier ---------- Forwarded message ---------

leandro79337933

06/09/19 09:00
Hola, si te sirve, aqui hay un instructivo de como hacer un Debug a una llamada SOAP: http://library.gxtechnical.com/gxdlsp/pub/GeneXus/Internet/TechnicalPapers/DebugCallSoap.htm Slds On Thu, Sep 5, 2019 at 11:22 PM Javier Larrosa

bruno.camar

06/09/19 09:09
Gracias Javier por tu respuesta, He probado importarlo y da error cuando intentas presionar el boton NEXT, no reconoce el wsdl, pero si navegas al wsdl desde un borwser si lo reconoce. Les paso como estoy invocando al webservice. Cuando uso este código apuntando al webservice en mi pc de desarrollo anda perfecto ( generado con gx16u3 y corriendo un IIS10), en el pc de produccion (generado con gx15u12 y corriendo un IIS7.5) da el error que mencioné. *Lo extraño es que si invoco al webservice de produccion desde SOAPUI anda perfecto. * event 'Start' &url="http:/*/xxx.xxx.xxx.xxx*/*webapp*/AProcesarPedidoMovil.aspx" &json="aaa" ¶metro='' ¶metro+='' ¶metro+='' ¶metro+=''+&json+'' ¶metro+='' ¶metro+='' ¶metro+='' &metodo="POST" &contentType="application/json" endevent Event 'Procesar' &httpclient.AddString(¶metro) &httpclient.AddHeader('Content-type',&contentType) &httpclient.Execute(&metodo,&url) &status=&httpclient.StatusCode.ToString().Trim() &error=&httpclient.ErrCode.ToString().Trim()+" "+&httpclient.ErrDescription.Trim() &salida=&httpclient.ToString() Endevent Y acá les paso el webservice ProcesarPedidoMovil: parm(in:&Json,out:&Respuesta); source: &NroPed=250 &Respuesta="hola" [image: image.png] Gracias a todos Bruno Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El jue., 5 sept. 2019 a las 23:22, Javier Larrosa ()

bruno.camar

06/09/19 09:53
Gracias Leando por la info buen dato! Estuve probando el tcptrace, pero lamentablemente como no puedo importar mi webservice de produccion a mi kb (porque me da error) y usarlo como EO, no puedo pasarle el Location que por lo que vi es la única forma de usar la herramienta. saludos Bruno Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El vie., 6 sept. 2019 a las 9:01, Leandro Minatel ()

leandro79337933

06/09/19 09:55
Usalo para comparar el request del SoapUi con el del httpclient. On Fri, Sep 6, 2019 at 9:53 AM Bruno Camargo

Enrique Almeida2770

06/09/19 10:10
Bruno, no tendras un proxy en el medio?. Si este fuera el caso, deberias especificar las credenciales para el proxy tanto en el WSDL import (en el momento de importar el servicio a la KB) como en el momento de consumirlo con algo asi. &location = getlocation('xxxx') &location.ProxyServerHost = "Host" &location.ProxyServerPort = 80 &location.ProxyAuthentication = 1 &location.ProxyAuthenticationMethod = 1 &location.ProxyAuthenticationUser = "user" &location.ProxyAuthenticationPassword = "password" Es comun que los navegadores ya tengan informacion del proxy y no tengas que ingresarla en forma explicita, pero hay que darsela a los demas programas que quieran acceder a dicha url, por lo que no es raro que funcione bien desde el navegador y no funcione desde otros programas. Si este fuera el caso, tambien vas a tener problemas para accederlo con httpclient. El vie., 6 de sep. de 2019 a la(s) 09:09, Bruno Camargo ( bruno.camar@gmail.com)

bruno.camar

06/09/19 10:13
Y en que puerto debo escuchar para que genere el log cuando invoco desde soap ui ? Le puse 80 y se ve que es por otro porque no genera nada. Se configura en algún lado ? Gracias! Bruno [image: image.png] Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El vie., 6 sept. 2019 a las 9:56, Leandro Minatel ()

bruno.camar

06/09/19 10:16
Gracias Enrique x tu observación! Pero no hay proxy en este caso slds Bruno Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El vie., 6 sept. 2019 a las 10:10, Enrique Almeida (< enrique.almeida@gmail.com>)

leandro79337933

06/09/19 10:17
Hola Bruno, el 80 lo tenes ocupado por el IIS (imagino) asique mandale el 81. En "Destination server"y "Destination port" ponele los del ambiente productivo. El Soapui apuntalo a localhost:81 y el httpclient tambien. Slds On Fri, Sep 6, 2019 at 10:14 AM Bruno Camargo

bruno.camar

06/09/19 10:50
Genial Leandro, ahora pude ver el log cuando ejecuto desde SOAPUI, como decia antes me responde perfectamente lo esperado: hola 250 Y en el log TCPTrace aparece esto (que supongo esta correcto): [image: image.png] Como debería apuntar el httpclient a localhost:81 ? Gracias Bruno Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El vie., 6 sept. 2019 a las 10:17, Leandro Minatel ()

leandro79337933

06/09/19 10:54
&httpClient.Host = 'localhost' &httpClient.Port = 81 On Fri, Sep 6, 2019 at 10:51 AM Bruno Camargo


Back to internet-l