XML - XML nollega gracias a SOAP?

 
Vista:

XML nollega gracias a SOAP?

Publicado por Elias (1 intervención) el 06/06/2007 05:13:42
Necesito enviar una cadena de un servidor a otro pero siempre me llega esto al receptor:

:-------[<resultado xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">CADENA</resultado>, <mensaje xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">Recepcion OK</mensaje>]

yo solo quiero enviar
CADENA
Recepcion OK

Alguien tiene una idea de como modificar esto ya sea en el emisor o en receptor.

no sé si SOAP sea algo que me restringe o seguridad...
o si estoy filtrado por SOAP... pero siempre manda:

<mensaje xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">

eso yo no lo mando.. alguna idea?????

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Eliminar etiquetas y atributos SOAP al enviar cadena entre servidores

Publicado por Alejandro (258 intervenciones) el 14/07/2023 19:51:42
El problema que estás experimentando parece estar relacionado con la estructura SOAP que se agrega automáticamente al enviar la cadena de un servidor a otro. Para enviar únicamente la cadena y eliminar las etiquetas y atributos SOAP, puedes utilizar una solución basada en manipulación de cadenas o utilizar una biblioteca específica para trabajar con SOAP. Aquí tienes una solución utilizando la manipulación de cadenas:

1
2
3
4
5
6
cadena_enviada = ':-------[<resultado xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">CADENA</resultado>, <mensaje xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">Recepcion OK</mensaje>]'
 
# Eliminar las etiquetas y atributos SOAP
cadena_limpia = cadena_enviada.replace('<resultado xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">', '').replace('</resultado>', '').replace('<mensaje xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">', '').replace('</mensaje>', '')
 
print(cadena_limpia)

En esta solución, se utiliza el método `replace()` para eliminar las etiquetas y atributos SOAP (`<resultado>` y `<mensaje>`) de la cadena original. Esto produce la cadena limpia que contiene únicamente los valores deseados.

Recuerda que esta solución se basa en la manipulación de cadenas y asume que la estructura de la cadena siempre será consistente. Si la estructura puede variar o si necesitas un manejo más robusto de SOAP, considera utilizar una biblioteca específica para trabajar con mensajes SOAP, como `suds` o `zeep` en Python, que proporcionan una interfaz más completa y facilitan la manipulación de mensajes SOAP.

Espero que esta solución te ayude a eliminar las etiquetas y atributos SOAP al enviar la cadena entre servidores. Ajusta y adapta el código según tus necesidades y el lenguaje de programación que estés utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar