Error usando HTTP

Error usando HTTP

Postby Jorge Jaurena » Mon Apr 01, 2013 7:11 pm

Hola a todos.
Estoy con este error hace rato y no logro resolverlo, tampoco encuentro mucha documentacion sobre HTTP.
Intento comunicarme con un web server al que debo enviarle un xml en base 64 y se supone que el me envia en respuesta otro xml, el problema es que cuando ejecuto el envio del xml me da este error y de ahi no salgo. Estoy basandome en un ejemplo puesto aqui por Rafa Carmona que es lo unico que pude encontrar en HTTP.
El contenido de la variable que muestra el error es el xml que envio en base 64.

Application
===========
Path and name: C:\WPS Gestion Bin\TRABAJO WEB SERVER\WebClien.EXE (32 bits)
Size: 2,422,784 bytes
Compiler version: Harbour 3.2.0dev (Rev. 18449)
FiveWin Version: FWH 12.11
Windows version: 6.1, Build 7600

Time from start: 0 hours 0 mins 5 secs
Error occurred at: 04/01/13, 15:57:58
Error description: (DOS Error -2147352567) WINOLE/1007 Error en la descarga del recurso solicitado.
(0x800C0008): msxml3.dll
Args:
[ 1] = C PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMTUiPz4NCjxzb2FwOkVudmVsb3BlIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnNvYXA9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4NCiAgIDxzb2FwOkJvZHk+DQogICAgICA8T2J0ZW5lck1hZXN0cm8geG1sbnM9Imh0dHA6Ly90ZW1wdXJpLm9yZy8iPg0KICAgICAgICAgPE1hZXN0cm9SZXEgeG1sbnM9Imh0dHA6Ly9CVFM4MDcyX0ZSQU5RX0ZVTExfRVhQUkVTUy5TQ0hFTUFTLndzTWFlc3Ryb1JlcXVlc3QiPg0KICAgICAgICAgICAgPENvZGlnb0VzdGFjaW9uIHhtbG5zPSIiPjcwMTU8L0NvZGlnb0VzdGFjaW9uPg0KICAgICAgICAgICAgPENsYXZlQXV0ZW50aWNhY2lvbiB4bWxucz0iIj5XUjBESTI4NE1TOUc8L0NsYXZlQXV0ZW50aWNhY2lvbj4NCiAgICAgICAgICAgIDxUaXBvUHJvY2VzbyB4bWxucz0iIj5NPC9UaXBvUHJvY2Vzbz4NCiAgICAgICAgICAgIDxUaXBvUHJvY2Vzb1NvbGljaXRhbnRlIHhtbG5zPSIiPk9idGVuZXJNYWVzdHJvPC9UaXBvUHJvY2Vzb1NvbGljaXRhbnRlPg0KICAgICAgICAgICAgPFRyYXphIHhtbG5zPSIiPk5PIFVTQVIgMjcvMDMvMjAxMyAxOTowMTwvVHJhemE+DQogICAgICAgICA8L01hZXN0cm9SZXE+DQogICAgICA8L09idGVuZXJNYWVzdHJvPg0KICAgPC9zb2FwOkJvZHk+DQo8L3NvYXA6RW52ZWxvcGU+DQoNCg==

Esto hago en mi prg:

try
oHttp := CreateObject( "MSXML2.XMLHTTP" )
catch e
? "Error de creacion"
end

ContXML :=MEMOREAD("ObtenerMaestros.xml")
Codi64XML:=hb_base64encode(ContXML)

oHttp:Open( "POST", cLocation, .F. )
oHttp:SetRequestHeader( "SOAPAction","http://tempuri.org/BTS8072_FRANQ_FULL_EXPRESS/ObtenerMaestro" )
oHttp:SetRequestHeader( "Content-Type","text/xml" )

oHttp:Send( Codi64XML ) && ACA SE PRODUCE EL ERROR.

Desde ya muchas gracias.
Jorge Jaurena
Jorge Jaurena
 
Posts: 146
Joined: Fri Oct 21, 2005 6:35 pm

Re: Error usando HTTP

Postby Antonio Linares » Thu Apr 04, 2013 4:39 pm

Jorge,

Que valor tienes en la variable cLocation ?

Mira lo que se comenta aquí:
http://www.portalfox.com/index.php?name=News&file=article&sid=1074&mode=nested&order=0&thold=0

Excelente proyecto... pero tengo el mismo problema que tuvieron el año pasado:
WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: Error en la descarga del recurso solicitado. HRESULT=0x1: Función incorrecta. - WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: El parámetro no es correcto. - Client:One of the parameters supplied is invalid. HRESULT=0x80070057

Cual es la solución? hay una mejor manera de hacerlo con la versión 9?

Saludos!

Re: Re: Cómo crear un Web Service con VFP8 sin tener instalado el VFP


por dasarobe en 17 Mar, 2006 - 12:40
(Información del usuario | Enviar un mensaje
Hola grupo

Yo después de mucho consultar me encontre con un artículo de Microsoft donde dice que hay un pequeño bug, al asignar la dirección del SOAPIS30.DLL en "C:\Archivos de Programa\Archivos Comunes\MSSoap\Binaries\Soapis30.dll" OJO no se permiten direcciones con espacios, por lo tanto se debe digitar con el nombre corto DOS "C:\Archiv~1\Archiv~1\MSSoap\Binaries\Soapis30.dll" o lo que le corresponda en su cumputador
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41321
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Error usando HTTP

Postby Jorge Jaurena » Thu Apr 04, 2013 10:34 pm

Hola Antonio, te pido disculpas pero no puedo divulgar publicamente el contenido de esa variable, es la direccion de un web server de YPF, si la necesitas te la envio por mail.
Te agradezco la respuesta, voy a ver que puedo solucionar con esto.

Muchas gracias
Jorge Jaurena
Jorge Jaurena
 
Posts: 146
Joined: Fri Oct 21, 2005 6:35 pm

Re: Error usando HTTP

Postby Antonio Linares » Thu Apr 04, 2013 10:53 pm

Jorge,

Me la puedes enviar por email. De todas formas has comprobado que no tenga algún espacio en el nombre ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41321
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Error usando HTTP

Postby elmoiquique » Fri Apr 12, 2013 4:32 pm

YO LO HARIA ASI


try
oHttp := CreateObject( "MSXML2.SERVERXMLHTTP.5.0" )
catch e
? "Error de creacion"
end

ContXML :=MEMOREAD("ObtenerMaestros.xml")
Codi64XML:=hb_base64encode(ContXML)

doc=CreateObject("MSXML2.DOMDocument")
oHttp:Open( "POST", cLocation, .F. )
oHttp:SetRequestHeader( "SOAPAction","http://tempuri.org/BTS8072_FRANQ_FULL_EXPRESS/ObtenerMaestro" )
oHttp:SetRequestHeader( "Content-Type","text/xml" )

doc:loadXML(codi64xml)
oHttp:Send( doc:xml )
&& ACA SE PRODUCE EL ERROR.

Espero te sirva .. saludos
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Error usando HTTP

Postby Jorge Jaurena » Sat Apr 13, 2013 10:44 pm

Te agradezco mucho tu ayuda. Estoy probando, cuando mando el archivo usando tu tecnica del DOM algo cambia, el windows me pregunta si confio en los certificados y bla bla y continua el proceso pero no baja nada, se que el problema lo tengo en que no defino correctamente el objeto que deberia tener para que se aloje el xml recibido, estoy seguro que el tema va por el XMLHttpRequest que me parece que es un objeto pero no se bien como usarlo, si tenes alguna idea te lo voy a agradecer.

Saludos
Jorge G. Jaurena
Jorge Jaurena
 
Posts: 146
Joined: Fri Oct 21, 2005 6:35 pm

Re: Error usando HTTP

Postby elmoiquique » Mon Apr 15, 2013 1:35 pm

doc = CreateObject( "MSXML2.DOMDocument" )
ohttp = CreateObject( "MSXML2.XMLHTTP" )
ohttp:Open( "POST" , ts_servidor , .F. )
ohttp:SetRequestHeader( "SOAPAction" , "visarDocumento" )
ohttp:SetRequestHeader( "Content-Type" , "text/xml;charset=utf-8" )
ohttp:SetRequestHeader( "Accept-Languaje","sp" )
doc:LoadXML( ctext )
TRY
ohttp:Send( doc:xml )
CATCH
msginfo("No Se Pudo Enviar Documento XML","Intente Nuevamente")
return .t.
END
response:=ohttp:responseText


asi lo utilizo, yo y el webservice, me responde
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Error usando HTTP

Postby Jorge Jaurena » Mon Apr 15, 2013 9:59 pm

Probe enviar usando el TRY y no me da ningun error, aparentemente el archivo se envia pero luego de eso pregunto esto, antes del response:

IF oHttp:Status<>200
? str(oHttp:Status)
ENDIF

200 es OK, pero me da el codigo 400 que significa Bad Request asi que creo que no me esta bajando nada, disculpa, no se si tendras idea porque puede dar este codigo de error.
Gracias.

Jorge Jaurena
Jorge Jaurena
 
Posts: 146
Joined: Fri Oct 21, 2005 6:35 pm

Re: Error usando HTTP

Postby elmoiquique » Thu Apr 18, 2013 3:08 pm

4xx Errores del cliente La solicitud contiene sintaxis incorrecta o no puede procesarse.

La intención de la clase de códigos de respuesta 4xx es para casos en los cuales el cliente parece haber errado la petición. Excepto cuando se responde a una petición HEAD, el servidor debe incluir una entidad que contenga una explicación a la situación de error, y si es una condición temporal o permanente. Estos códigos de estado son aplicables a cualquier método de solicitud (como GET o POST). Los agentes de usuario deben desplegar cualquier entidad al usuario. Estos son típicamente los códigos de respuesta de error más comúnmente encontrados.

400 Solicitud incorrecta
La solicitud contiene sintaxis errónea y no debería repetirse.


Estas enviando un XML con una sintaxis erronea, creo que el xml tiene problemas
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 13 guests