Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
Servicio externo de Java Axis: problema de deserialización

Me encuentro con un problema muy frustrante. Todas las respuestas XML del servicio se incluyen en el mismo elemento ("respuesta"). Por ejemplo, si inicio sesión, obtendré una "respuesta", no una "Respuesta de inicio de sesión". Si busco algo, también obtendré "respuesta", no "respuesta de búsqueda".

Todas las respuestas tienen esta estructura:

 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <response method="methodName"> <payload> ** other elements** </payload> </response> </S:Body> </S:Envelope>

¿Por qué es esto un problema? Bueno, todas mis clases de proxy esperan que un elemento se deserialice, como tal:

 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:xxx-premium#xxxLogin", Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)] [return: System.Xml.Serialization.XmlElementAttribute("response", Namespace="")] **random method**

El problema es que, si todos los nombres de los elementos tienen el mismo nombre, obtendré una excepción como:

InvalidOperationException: el elemento XML superior 'respuesta' del espacio de nombres 'hace referencia a tipos distintos

Tiene sentido, ya que este mecanismo utiliza la reflexión. La respuesta XML tampoco tiene espacio de nombres.

Para su información: usé el antiguo wsdl.exe (referencia web) ya que usar Svcutil no funcionó.

Al ejecutar pruebas de aserción en SoapUI, también recibí un mensaje de "cumplimiento de esquema: FALLIDO".

Obviamente, cambiar el nombre en el código proxy hará que la respuesta sea nula.

¿Hay una solución a esto o la única opción es contactar al proveedor para cambiar su pesadilla de un servicio?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda