yggdrasil
Hola
Tengo problemas para obtener datos de SOAP WS XML. La fuente utiliza autenticación HTTP básica preventiva con usuario/pase que ya he recibido.
let Source = Xml.Tables(Web.Contents("URL")) in Source
Esto devuelve nombres de atributos y demás, pero ningún dato en absoluto. Por cierto, no se me solicita la autenticación.
He intentado manipular los encabezados.
let Source = Web.Contents("wsdl",
[Headers=[Authorization="user pass"]]), Xml = Xml.Tables(Source) in Xml
¿Alguien tiene alguna idea de cómo obtener datos de esto?
v-yuezhe-msft
@Yggdrasill,
Cambie su código a lo siguiente y verifique si obtiene datos.
let Source = Xml.Tables(Web.Contents("xxxxxxxxxxxx" ,[Content=File.Contents("xxxxxxxpost.xml"),Headers=[Authorization="Basic xxxxxxxxxxx" ,#"Accept-Encoding"="gzip,deflate", #"Content-Type"="text/xml;charset=UTF-8"]])) in Source
Hay una discusión en el siguiente hilo similar, puede consultar la respuesta de JasonL y la respuesta de erickfranz para obtener detalles.
https://community.powerbi.com/t5/Desktop/How-to-get-data-from-a-SOAP-WS-with-Power-BI/td-p/29040
Saludos,
lidia
yggdrasil
En respuesta a v-yuezhe-msft
gracias lidia Conseguí que funcionara con mucha ayuda con el hilo que enumeraste.
En primer lugar, enumerar mi configuración y entorno.
- El host utiliza servicios web SOAP con autenticación preventiva en el encabezado HTTP.
- Mi IP puede pasar a través de mi fuente, que también me ha dado un nombre de usuario y una contraseña.
Con un pequeño ajuste, esta es mi solución.
let SourceURL = "wsdl-URL", //host provides this address. Url ends often with "wsdl" options = [ #"Authorization" ="Basic USER:PASS=", //User:pass decoded with SOAP UI #"Accept-Encoding"= "gzip,deflate", // SOAPAction="", #"Content-Type"="text/xml;charset=UTF-8", #"Connection"="Keep-Alive" ], WebContent = Web.Contents(SourceURL,
// Content options in Web.Contents() requires you to authenticate anonymously ! [Content=Text.ToBinary(" --Xml text pasted from wordpad (which I created with SOAPUI open source program)-- "), Headers=options]) , XmlContent = Xml.Tables(WebContent), in XmlContent
Referencias utilizadas para crear este código:
Este hilo (solución de Jason y alteraciones de juliovidigal)
Este video (sobre cómo usar SOAP UI para crear el archivo/texto XML)
Este programa (descargue la interfaz de usuario SOAP gratuita para crear el Xml que se pega en la sección «Texto Xml». Pegue el texto Xml en wordpad y reemplace todo » con #(0022) y luego pegue desde wordpad en la sección «Texto Xml» el editor avanzado en power query.
Host en realidad bloqueó mi IP por un error, así que los culpo por algunas de esas horas de mi vida. Sin embargo, esto tomó algún tiempo y espero que esto ayude a alguien.
Editar: es divertido cómo la «Ventana de código» cambia «:» y «P» a un culo sonriente
v-yuezhe-msft
@Yggdrasill,
Cambie su código a lo siguiente y verifique si obtiene datos.
let Source = Xml.Tables(Web.Contents("xxxxxxxxxxxx" ,[Content=File.Contents("xxxxxxxpost.xml"),Headers=[Authorization="Basic xxxxxxxxxxx" ,#"Accept-Encoding"="gzip,deflate", #"Content-Type"="text/xml;charset=UTF-8"]])) in Source
Hay una discusión en el siguiente hilo similar, puede consultar la respuesta de JasonL y la respuesta de erickfranz para obtener detalles.
https://community.powerbi.com/t5/Desktop/How-to-get-data-from-a-SOAP-WS-with-Power-BI/td-p/29040
Saludos,
lidia
yggdrasil
En respuesta a v-yuezhe-msft
gracias lidia Conseguí que funcionara con mucha ayuda con el hilo que enumeraste.
En primer lugar, enumerar mi configuración y entorno.
- El host utiliza servicios web SOAP con autenticación preventiva en el encabezado HTTP.
- Mi IP puede pasar a través de mi fuente, que también me ha dado un nombre de usuario y una contraseña.
Con un pequeño ajuste, esta es mi solución.
let SourceURL = "wsdl-URL", //host provides this address. Url ends often with "wsdl" options = [ #"Authorization" ="Basic USER:PASS=", //User:pass decoded with SOAP UI #"Accept-Encoding"= "gzip,deflate", // SOAPAction="", #"Content-Type"="text/xml;charset=UTF-8", #"Connection"="Keep-Alive" ], WebContent = Web.Contents(SourceURL,
// Content options in Web.Contents() requires you to authenticate anonymously ! [Content=Text.ToBinary(" --Xml text pasted from wordpad (which I created with SOAPUI open source program)-- "), Headers=options]) , XmlContent = Xml.Tables(WebContent), in XmlContent
Referencias utilizadas para crear este código:
Este hilo (solución de Jason y alteraciones de juliovidigal)
Este video (sobre cómo usar SOAP UI para crear el archivo/texto XML)
Este programa (descargue la interfaz de usuario SOAP gratuita para crear el Xml que se pega en la sección «Texto Xml». Pegue el texto Xml en wordpad y reemplace todo » con #(0022) y luego pegue desde wordpad en la sección «Texto Xml» el editor avanzado en power query.
Host en realidad bloqueó mi IP por un error, así que los culpo por algunas de esas horas de mi vida. Sin embargo, esto tomó algún tiempo y espero que esto ayude a alguien.
Editar: es divertido cómo la «Ventana de código» cambia «:» y «P» a un culo sonriente