Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-3405

Error reading XMLStreamReader.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 2.3.4
    • Invalid
    • Transports
    • None
    • jdk 1.6.0_22, windows_xp, cxf 2.3.4-snapshot

    Description

      Hi,
      I was trying fix for CXF-3383 from 2.3.4-snapshot from within applet & I'm getting exception as:

      WARNING: Interceptor for {http://wsapi.api.client.caseware.banctec.com/}WSAPIServiceService#{http://wsapi.api.client.caseware.banctec.com/}login has thrown exception, unwinding now
      org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:222)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:759)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2337)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2195)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2039)
      	at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
      	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:520)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
      	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
      	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
      	at $Proxy42.login(Unknown Source)
      	at com.banctec.client.commonviewer.ViewerWSServerHandler.login(ViewerWSServerHandler.java:107)
      	at com.banctec.client.viewer.ViewerController.login(ViewerController.java:248)
      	at com.banctec.client.viewer.EfpViewer.ensureLoggedIn(EfpViewer.java:561)
      	at com.banctec.client.viewer.EfpViewer.startViewer(EfpViewer.java:329)
      	at com.banctec.client.viewer.EfpViewer.start(EfpViewer.java:257)
      	at sun.applet.AppletPanel.run(AppletPanel.java:464)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
      Message: Content is not allowed in prolog.
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1235)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
      	... 25 more
      javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.
      	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
      	at $Proxy42.login(Unknown Source)
      	at com.banctec.client.commonviewer.ViewerWSServerHandler.login(ViewerWSServerHandler.java:107)
      	at com.banctec.client.viewer.ViewerController.login(ViewerController.java:248)
      	at com.banctec.client.viewer.EfpViewer.ensureLoggedIn(EfpViewer.java:561)
      	at com.banctec.client.viewer.EfpViewer.startViewer(EfpViewer.java:329)
      	at com.banctec.client.viewer.EfpViewer.start(EfpViewer.java:257)
      	at sun.applet.AppletPanel.run(AppletPanel.java:464)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
      Message: Content is not allowed in prolog.
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1235)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:759)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2337)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2195)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2039)
      	at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
      	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:520)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
      	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
      	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
      	... 8 more
      javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.
      	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
      	at $Proxy42.login(Unknown Source)
      	at com.banctec.client.commonviewer.ViewerWSServerHandler.login(ViewerWSServerHandler.java:107)
      	at com.banctec.client.viewer.ViewerController.login(ViewerController.java:248)
      	at com.banctec.client.viewer.EfpViewer.ensureLoggedIn(EfpViewer.java:561)
      	at com.banctec.client.viewer.EfpViewer.startViewer(EfpViewer.java:329)
      	at com.banctec.client.viewer.EfpViewer.start(EfpViewer.java:257)
      	at sun.applet.AppletPanel.run(AppletPanel.java:464)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
      Message: Content is not allowed in prolog.
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1235)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:759)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2337)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2195)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2039)
      	at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
      	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:520)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
      	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
      	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
      	... 8 more
      

      When I looked at messages, I found:

      16-Mar-2011 17:22:45 org.apache.cxf.interceptor.AbstractLoggingInterceptor log
      INFO: Outbound Message
      ---------------------------
      ID: 1
      Address: http://localhost:8080/webservice/services/WSAPI
      Encoding: UTF-8
      Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:8ed5984d-00d9-42f2-8a93-8cec2c17a184"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
      Headers: {Accept=[*/*], SOAPAction=[""]}
      Payload: 
      --uuid:8ed5984d-00d9-42f2-8a93-8cec2c17a184
      Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
      Content-Transfer-Encoding: binary
      Content-ID: <root.message@cxf.apache.org>
      
      <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:login xmlns:ns1="http://wsapi.api.client.caseware.banctec.com/"><appServerUrl>jnp://localhost:1099</appServerUrl><userName>efpadmin</userName><password>efpadmin</password></ns1:login></soap:Body></soap:Envelope>
      --uuid:8ed5984d-00d9-42f2-8a93-8cec2c17a184--
      --------------------------------------
      16-Mar-2011 17:22:45 org.apache.cxf.interceptor.AbstractLoggingInterceptor log
      INFO: Inbound Message
      ----------------------------
      ID: 1
      Response-Code: -1
      Encoding: ISO-8859-1
      Content-Type: unknown/unknown
      Headers: {Content-type=[unknown/unknown]}
      Payload: ??All??_?w?Dv?s?6?P?????bx?????????O??(yVO??@58_??\
      --------------------------------------
      16-Mar-2011 17:22:45 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
      

      This works from a standalone client, but when I call it from applet, it throws above error. Also, this works for cxf-2.2.6.jar, it's only when I was trying fix for issue CXF-3383 with 2.3.4-snapshot, I got it. Do you have any idea anything being changed from 2.2.6 that I need to take care in 2.3.4? All, the jars are signed so I can't imagin applet security blocking it (also the fact that it was working with 2.2.6).

      Attachments

        1. TestApplet.java
          0.4 kB
          Prasad Deshpande
        2. TestWSServerHandler.java
          1 kB
          Prasad Deshpande
        3. WSTestService.java
          0.3 kB
          Prasad Deshpande
        4. WSTestServiceImpl.java
          0.4 kB
          Prasad Deshpande

        Activity

          People

            Unassigned Unassigned
            prasad.deshpande Prasad Deshpande
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: