Ayuda con WEBSERVICE

elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Ayuda con WEBSERVICE

Post by elmoiquique »

Cuando trato de conectarme me da el siguiente error

ERROR DESCRIPTION:ERROR MSXML2.DOMDocument/3 DISP_E_MEMBERNOTFOUND: CXML

STACK CALLS

CALLED FROM: SOURCE\RTL\WIN32OLE.PRG=> TOLEAUTO.CXML(0)
CALLED FROM: SVE201.PRG=> CONWS (1203)


ESTE ES UNA PRTE DEL PROGRAMA

FUNCTION CONWS()
// osoapclient:=createobject("mssoap.soapclient")
// osoapclient:=nil
LOCAL oHttp,doc
LOCAL cLocation:="http://<hostSVE>svePerfilacionWSN/Sesion?WSDL"
LOCAL cXml:=""+;
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cl="cl.zofri.sve" xmlns:wsn="http://cl/zofri/sve/prf/wsn" xmlns:java="java:cl.zofri.sve.app.eo">'+;
'<soapenv:Header>'+;
'<cl:token></cl:token>'+;
'</soapenv:Header>'+;
'<soapenv:Body>'+;
'<wsn:login>'+;
'<wsn:usuario>90000059-0</wsn:usuario>'+;
'<wsn:clave>cy6u8ftS</wsn:clave>'+;
'<wsn:rutEmpresa>'+;
'<java:Dv>0</java:Dv>'+;
'<java:Nro>90000059</java:Nro>'+;
'</wsn:rutEmpresa>'+;
'<wsn:rutAgencia></wsn:rutAgencia>'+;
'</wsn:login>'+;
'</soapenv:Body>'+;
'</soapenv:Envelope>'
?cxml
// doc =createobject("MSXML2.DOMDocument")
// ohttp=createobject("MSXML2.XMLHTTP")
// ohttp:open("POST",clocation,.f.)
// ohttp:setrequestheader("soapaction","ws_graf")
// ohttp:setrequestheader("content-type","text/xml")
// doc:loadxml(cxml)
// ohttp:Send( cxml )
// ?ohttp:responsetext

doc = toleauto():new("MSXML2.DOMDocument")
ohttp=toleauto():new("MSXML2.XMLHTTP")

ohttp:open("POST",clocation,.f.)
ohttp:setrequestheader("soapaction","enviararchivowebservice")
ohttp:setrequestheader("content-type","text/xml")

doc:loadXML(cxml)
ohttp:Send(doc:cxml ) LINEA 1203
// ?ohttp:responsetext

RETURN .T.
Fivewin 11.07
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ayuda con WEBSERVICE

Post by Carlos Mora »

La traducción al 'cristiano' de ERROR DESCRIPTION:ERROR MSXML2.DOMDocument/3 DISP_E_MEMBERNOTFOUND: CXML sería que no existe la variable de instancia cXml.
Estás llamando a Send usando Dom:cXml... ¿Y si pruebas usando directamente cXml? Es decir:

Code: Select all

ohttp:Send(cXml)
Creo que los objetos del tipo DOMDocument no tienen la variable cXml.
Una pregunta de puro curioso ¿Para que necesitas crear un objeto DOMDocument? Sé que se usa mucho cuando haces Ajax con Javascript, porque manipulas los elementos y nodos del html para recoger y proyectar los resultados, pero probablemente en este caso te resulte suficiente con usar texto simple.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Ayuda con WEBSERVICE

Post by elmoiquique »

Ya probe de esa forma y me da el mismo error,

Con respecto a tu pregunta es un ejemplo que esta aca en el foro y para que sirve lo desconozco, la verdad es primera vez que trabajo con webservices y no se nada como hacer la comunicacion con este y tampoco las repuestas, espo eso que copie le ejemplo.

Lo unico que necesito es comunicarme con el y que me de una respuesta

agradeceria tu ayuda

saludos
Fivewin 11.07
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: Ayuda con WEBSERVICE

Post by pcordonet »

Hola,

Has probado con el programa soapUI: http://www.soapui.org

A mi me fué muy bien para depurar errores.

Pere
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ayuda con WEBSERVICE

Post by Carlos Mora »

Hola Pere,

la herramienta que recomendaste tiene una MUY buena pinta. Creo que la añadimos a la lista de utilidades, me viene de perlas.
Muchísimas gracias
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: Ayuda con WEBSERVICE

Post by pcordonet »

Hola Carlos,

de nada, estamos para ayudarnos.

Una cosa que he visto, supongo que esta direccion esta cambiada, porque sino, es normal que de error.

Code: Select all

LOCAL cLocation:="http://<hostSVE>svePerfilacionWSN/Sesion?WSDL" 
 
Esto <hostSVE> tiene que ser nombre de servidor.

Pere.
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Ayuda con WEBSERVICE

Post by elmoiquique »

Hola Pere

Tenias Razon, me faltaba el nombre del servidor y con eso se soluciono mi problema hasta ahora, gracias por la ayuda.

logre comunicarme con el servidor y consumir de este mismo

y otra cosa muy buena herramienta la que acabas de publicar
Fivewin 11.07
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Ayuda con WEBSERVICE

Post by elmoiquique »

Una Consulta
para buscar el resultado de un tag dentro del XML, lo busco de la siguiente manera


txt= res:selectsinglenode("//java:resmensaje")
tj1:=txt:text

cuendo existe el tag no hay problemas y almacena en tj1 el resultado, pero cuando no existe el programa se cae


como puedo hacer o validar de que exista ese tag

saludos
Fivewin 11.07
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Ayuda con WEBSERVICE

Post by elmoiquique »

Ya lo solucione

if txt ! = NIL
Fivewin 11.07
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Ayuda con WEBSERVICE

Post by elmoiquique »

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<cl:token xmlns:cl="cl.zofri.sve">fb27a2004f1fa9052--ceb1fac1-34-6-c213-7b12 5ff1-d860-3:6442daa2485:42432-b6792206f0fc915d-0c-b-f3c1-a4162c-17-2bd275df -e810b36674:d9a24352464:2</cl:token>
<cl:respuesta xmlns:cl="cl.zofri.sve">
<java:resCodigo xmlns:java="java:cl.zofri.sve.utl.bo">0</java:resCodigo>
<java:resMensaje xmlns:java="java:cl.zofri.sve.utl.bo">Se ejecutó correctamente el servicio.</java:resMensaje>
<java:resSeveridad xmlns:java="java:cl.zofri.sve.utl.bo">O</java:resSeveridad>
</cl:respuesta>
</env:Header>
<env:Body>
<m:obtenerCausalesRechazoResponse xmlns:m="http://cl/zofri/sve/cns/wsn">
<m:return><![CDATA[<srv alias="" id="executeSrvDataMultiple" knaToken="<header><token>fb27a2004f1fa9052--ceb1fac1-34-6-c213-7b12 5ff1-d860-3:6442daa2485:42432-b6792206f0fc915d-0c-b-f3c1-a4162c-17-2bd275df -e810b36674:d9a24352464:2</token><idUsuario>elmo.ceballos</idUsuario><CodigoTipoUsuario>TUSU3</CodigoTipoUsuario><RutUsuario>90000008-0</RutUsuario><RutEmpresa>90000008-0</RutEmpresa><RutAgencia></RutAgencia></header>"><result><srvs result="ok" rowCount="1"><data TTotal="14" id="consultarCausalesRechazo" result="ok" rowCount="3" rowCountTotal="3"><row CODI_TDOC="101" CONT_VALI="Validación de Negocio" CREC_CODI="201" CRMD_FECH_CREA="2010-11-20 00:00:00.0" CRMD_MENS="ERROR: Debe Ingresar Tipo de Adjunto "Nota de gasto",o completar los datos Nro y Fecha, -" CRMD_NRO_ITEM="0" LTIP_NOMB="Upload" MDOC_FECH_INGR="2010-11-20 21:08:51.0" MDOC_ID="201060739" MDOC_NDOC_USUA="000001" NUME_PROV="101-20108956" RUT="90000008-0" USUA_ID="elmo.ceballos"/><row CODI_TDOC="101" CONT_VALI="Validación de Negocio" CREC_CODI="200" CRMD_FECH_CREA="2010-11-20 00:00:00.0" CRMD_MENS="ERROR: Debe Ingresar Tipo de Adjunto "Reconocimiento de reembalaje y división",o completar los datos Nro, Fecha y Emisor. , -" CRMD_NRO_ITEM="0" LTIP_NOMB="Upload" MDOC_FECH_INGR="2010-11-20 21:08:51.0" MDOC_ID="201060739" MDOC_NDOC_USUA="000001" NUME_PROV="101-20108956" RUT="90000008-0" USUA_ID="elmo.ceballos"/><row CODI_TDOC="101" CONT_VALI="Validación de Negocio" CREC_CODI="323" CRMD_FECH_CREA="2010-11-20 00:00:00.0" CRMD_MENS="ERROR: El tipo de bulto informado no existe, 022" CRMD_NRO_ITEM="0" LTIP_NOMB="Upload" MDOC_FECH_INGR="2010-11-20 21:08:51.0" MDOC_ID="201060739" MDOC_NDOC_USUA="000001" NUME_PROV="101-20108956" RUT="90000008-0" USUA_ID="elmo.ceballos"/><statics TExecuteSQL="2" TGetConnection="0" TPopulate="2" TSQLParser="7" TXMLParser="0"/><prmsQuery><prm NRO_ATENCION="<srvs><row nume_aten='201060739'/></srvs>" NRO_PROVISORIO="<srvs><row nume_prov='20108956'/></srvs>"/></prmsQuery><query authentication="true" authenticationKey="consulta" con="zofriDesa" id="consultarCausalesRechazo" method="query" viewAcc="edit, del">

<params/>
</query></data></srvs></result></srv>]]></m:return>

</m:obtenerCausalesRechazoResponse>
</env:Body>
</env:Envelope>



Como Puedo leer lo que esta en rojo, por tag , ya que es solo una linea por el CDATA, puede ser por un AT(x,y)o hay alguna otra forma de leerlo
agradeceria la ayuda
Fivewin 11.07
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: Ayuda con WEBSERVICE

Post by Miguel Salas »

Ya baje el soapUI pero la verdad , ni idea de como seguirle, podrian ayudarme con un ejemplo, desde ya gracias mil
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: Ayuda con WEBSERVICE

Post by pcordonet »

Hola Miguel,

A lo mejor te puedo echar una mano con Soapui, en que punto te encuentras ??


Hola elmiquique,

En que harbour estas trabajando, yo lo hago con xharbour comercial, este tiene unas clases Txmldocument, txmlnode, .. que funcionan muy bien.
En este caso te podría echar una mano.


Un saludo.
Pere
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: Ayuda con WEBSERVICE

Post by Miguel Salas »

es 1.1.0 , open source, la vdd te lo agradecería bastante pq no tengo npi de como hacer esto,

saludos
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: Ayuda con WEBSERVICE

Post by pcordonet »

Hola Miguel,

Primero de todo tienes que saber la url del servicio web.

Tienes que crear un proyecto nuevo
Como es obvio "Project Name" es el nombre de proyecto.

Donde pone "initial WSDL/WADL" va la url anterior.

Y despues desmarcar totas las opciones y pulsar OK.

Pere.
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: Ayuda con WEBSERVICE

Post by Miguel Salas »

Gracias Pere

me esta marcando "erroe importin g wsdl" ya cheque con varias url y sigue. ¿?
saludos
Post Reply