Principales respuestas
Problema de conexión con web service

Pregunta
-
Hola buenas tardes, formulo mi pregunta aqui puesto que llevo varios días intentando, sin exito, solventar este error.
El error se reproduce al intentar consumir un web service (en java) desde una aplicación de escritorio hecha con Visual Studio 2008 en vb.Net
La petición llega al destino, pero al la respuesta me devuelve este error:
System.InvalidOperationException: La respuesta no es código XML correcto. ---> System.Xml.XmlException: Los datos del nivel de raíz no son válidos. Línea 2, posición 1.
en System.Xml.XmlTextReaderImpl.Throw(Exception e)
en System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
en System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
en System.Xml.XmlTextReaderImpl.ParseDocumentContent()
en System.Xml.XmlTextReaderImpl.Read()
en System.Xml.XmlTextReader.Read()
en System.Xml.XmlReader.MoveToContent()
en System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
A que puede ser debido? Como digo arriba, el cliente me confirma que llegan los datos, pero en mi aplicación devuelve este error en lugar de la respuesta adecuada. Añadir que si lanzo la petición con soapUI me da la respuesta adecuada sin problemas.
Un saludo y muchas gracias
Respuestas
-
el tema es que agregar una referencia a web reference a un servicio en java no siempre crea el proxy de forma correcta
valida que el servicio devuelva informacion simple del tipo string o numerica, mas que nada para asegurar la compatibilidad y mapeo de tipos de java a .net
pide a quien realizo el servicio te pase el xml del wsdl y luego usa el
o sea crearias el proxy de forma manual y no por una web reference directa del VSsaludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Eduardo PorteschellerModerator miércoles, 20 de julio de 2011 16:49
- Marcado como respuesta Eduardo PorteschellerModerator martes, 26 de julio de 2011 14:09
Todas las respuestas
-
el tema es que agregar una referencia a web reference a un servicio en java no siempre crea el proxy de forma correcta
valida que el servicio devuelva informacion simple del tipo string o numerica, mas que nada para asegurar la compatibilidad y mapeo de tipos de java a .net
pide a quien realizo el servicio te pase el xml del wsdl y luego usa el
o sea crearias el proxy de forma manual y no por una web reference directa del VSsaludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Eduardo PorteschellerModerator miércoles, 20 de julio de 2011 16:49
- Marcado como respuesta Eduardo PorteschellerModerator martes, 26 de julio de 2011 14:09
-
Hola Leandro, gracias por responder.
He probado a crear el proxy manual, siempre es mi primera opcion, y tambien he probado a crearlo por una web reference del VS, en ambas ocasiones me da el mismo error.
Esto es lo que devuelve el web service desde soapUI:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsu:Timestamp wsu:Id="Timestamp-18" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Created>2011-07-18T08:04:48.054Z</wsu:Created>
<wsu:Expires>2011-07-18T08:09:48.054Z</wsu:Expires>
</wsu:Timestamp>
<wsse:SecurityProfile>E</wsse:SecurityProfile>
</wsse:Security>
</soap:Header>
<soap:Body>
<ns1:CAUREplyIntResponse xmlns:ns1="http://www.xxxxx.es/schema/wsext/v1/0/0">
<ns1:out>
<ns1:errorList>
<ns2:errors xmlns:ns2="http://www.xxxxx.es/schema/framework/v1/0"/>
</ns1:errorList>
<ns1:resultado>000000000000080</ns1:resultado>
<ns1:serviceContext>
<ns2:pageContext ns3:nil="true" xmlns:ns2="http://www.xxxxx.es/schema/framework/v1/0" xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"/>
</ns1:serviceContext>
</ns1:out>
</ns1:CAUREplyIntResponse>
</soap:Body>
</soap:Envelope>Y en mi aplicacion, como ya dije, devuelve el error...
Saludos