none
Problema de conexión con web service RRS feed

  • 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

    lunes, 18 de julio de 2011 15:25

Respuestas

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 VS

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 18 de julio de 2011 15:59
  • 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


    lunes, 18 de julio de 2011 16:50