FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WEBDEV 2024
→
LLamar a Webservice con parametros ocultos en un HEADER
LLamar a Webservice con parametros ocultos en un HEADER
Débuté par Gustavo Gonzalez, 16 mar. 2018 20:08 - 4 réponses
Connectez-vous…
Gustavo Gonzalez
#1
Posté le 16 mars 2018 - 20:08
Hola queria ver si alguien puede ayudarme con la sintaxis necesaria en WINDEV para llamar a un webservice EXTERNO que no esta hecho en windev, incluyendo datos que se pasan como parte del header...
Lo primero que hice fue probarlo de la forma mas estandar posible y para eso utice el programa SOAPUI
https://www.soapui.org/
En ese programa conloco la direccion del WS:
https://hdi.com.uy/hdi/ExternalQuotation/ExternalQuotationMethods.svc
luego el request y funciona perfectamente (
<soapenv:Envelope xmlns:ext="
http://schemas.datacontract.org/2004/07/ExternalQuotation.Model.Data
" xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/
" xmlns:tem="
http://tempuri.org/
"><soapenv:Header>
<wsse:Security xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
" xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
" soapenv:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="">
<wsse:Username>XXX</wsse:Username>
<wsse:Password Type="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0…
">XXX</wsse:Password>
<wsse:Nonce EncodingType="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0…
"></wsse:Nonce>
<wsu:Created>2017-12-21T14:48:01.646Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header><soapenv:Body>
<tem:GetAgentDataDTOList>
<tem:filter><ext:PageNumber>1</ext:PageNumber><ext:PageSize>50</ext:PageSize>
</tem:filter>
</tem:GetAgentDataDTOList>
</soapenv:Body></soapenv:Envelope>
pero si intento hacerlo desde WINDEV no me funciona me devuelve false...
sMensajeXML is string = [
XUSUARIOX
XCLAVEX
2017-12-21T14:48:01.646Z
1
50
]
bResultado is boolean = SOAPRunXML("https://hdi.com.uy/hdi/ExternalQuotation/ExternalQuotationMethods.svc", sMensajeXML)
Info(bResultado)
//Devuelve: false
Info(ErrorInfo)
////Devuelve: Security Alert: name on security is incorrect or does not match the selected site.
A alguien le sucedio algo similar?
Alguna idea de cual seria la forma correcta de escribir el SOAPRUNXML ?
Signaler
0
0
Rubén Sánchez Peña
#2
Membre enregistré
796 messages
Popularité : +40 (42 votes)
Posté le 06 septembre 2018 - 07:31
Hola. Al abrir la URL del servicio web en el navegador este me ha dicho que el certitificado era de tipo autofirmado y que si queria añadir una excepción para acceder a el. Al añadir la excepción ya me ha salido correctamente la información del webservice. Quizasel problemavenga por ahi.
Rubén
Signaler
0
0
Marcos Ríos
#3
Posté le 29 janvier 2020 - 01:52
Gustavo,
Esto lo resolvi de la siguiente forma, espero te sea de ayuda.
Creas una variable sHeaderXML is string que contenga el xml original, reemplazas en ese xml los datos que sirven como parametros (wsse:Username y wsse:Password ademas de otros datos).
luego ejecutas el siguiente comando:
bResExecute is boolean = SOAPRunXML("
https://www.sunat.gob.pe:443/ol-it-wsconscpegem/billConsultService
", sHeaderXML)
IF bResExecute = True THEN
// Is the procedure successfully run?
IF SOAPGetResult(SOAPXMLResult) <> "" THEN
// Display the result returned by the procedure
EDT_Rpta_Sunat = SOAPGetResult(SOAPXMLResult)
IF XMLExtractString(SOAPGetResult(SOAPXMLResult),"title") = "SUNAT" THEN
NextTitle("Obteniendo status...")
Error("El servidor de SUNAT esta fuera de servicio")
ELSE
Info("El codigo es: " + XMLToText(XMLExtractString(SOAPGetResult(SOAPXMLResult),"statusCode")),"El mensaje es: " + XMLToText(XMLExtractString(SOAPGetResult(SOAPXMLResult),"statusMessage")))
sTexto = XMLToText(XMLExtractString(SOAPGetResult(SOAPXMLResult),"content"))
END
ELSE
// Display the error returned by the SOAP server
Error(SOAPError(SOAPErrMessage))
END
ELSE
Info("Error")
Error(ErrorInfo(errMessage))
END
Ya tu puedes adecuarlo a tus necesidades.
Saludos,
Marcos Ríos.
Signaler
1
0
Alfie
#4
Posté le 01 décembre 2021 - 02:08
Marco una consulta,
todo ese query dónde iría? en el botón para ejecutarlo o en el inicio del proyecto?
Signaler
0
0
Alfie
#5
Membre enregistré
3 messages
Posté le 01 décembre 2021 - 02:12
Marco hola,
el query que muestras en qué parte iría? al inicio del proyecto o en el botón para la consulta?
Gracias
Signaler
0
0
→ Revenir à WEBDEV 2024
WINDEV 2024
WEBDEV 2024
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte