[reposting to dev; I had previously posted to 
[email protected]<mailto:[email protected]>]



I am making a Web Service call using CXF 2.7.8 where the response consists of a 
302 response-code with header information but no SOAP payload. When the 
ReadHeadersInterceptor attempts to parse the response, the following exception 
is thrown:



Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]

Message: Premature end of file.

               at 
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:601)

               at 
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1238)

               at 
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:152)

               at 
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:62)





I turned on debugging to see the incoming response, and the 
LoggingInInterceptor outputs the following:



Inbound Message

----------------------------

ID: 2

Response-Code: 302

Encoding: ISO-8859-1

Content-Type:

Headers: {connection=[Close], Content-Length=[0], Location=[/acme.policy], 
Server=[AcmeServer], Set-Cookie=[MRHSHint=deleted; expires=Thu, 01-Jan-1970 
00:00:01 GMT; path=/, MRHSession=XXXXX;path=/;secure, 
LastMRH_Session=XXXXX;path=/;secure]}

--------------------------------------



I took a look at the ReadHeadersInterceptor source, and it appears to me that 
it expects a SOAP message. I may be interpreting the code incorrectly, but 
unfortunately, I cannot connect a debugger to the server making the WS call, so 
I can't interact with it.



I am not sure if this is an issue in ReadHeadersInterceptor or if I am not 
correctly configuring the HTTPConduit to handle redirects. I am calling

HTTPClientPolicy.setAutoRedirect(true) in my code.



>From the debugging message I see, I think the PolicyInInterceptor is called 
>and the message is handled and then eventually passed to the

ReadHeadersInterceptor:



Invoking handleMessage on interceptor

org.apache.cxf.ws.policy.PolicyInInterceptor@590970<mailto:org.apache.cxf.ws.policy.PolicyInInterceptor@590970>

Adding interceptor

org.apache.cxf.ws.policy.PolicyVerificationInInterceptor@a2a111<mailto:org.apache.cxf.ws.policy.PolicyVerificationInInterceptor@a2a111>
 to phase pre-invoke Chain 
org.apache.cxf.phase.PhaseInterceptorChain@1aee3c4<mailto:org.apache.cxf.phase.PhaseInterceptorChain@1aee3c4>
 was modified.

Current flow:

  receive [PolicyInInterceptor, LoggingInInterceptor, AttachmentInInterceptor]

  post-stream [StaxInInterceptor]

  read [WSDLGetInterceptor, ReadHeadersInterceptor, SoapActionInInterceptor, 
StartBodyInterceptor]

  pre-protocol [MustUnderstandInterceptor]

post-protocol [CheckFaultInterceptor, JAXBAttachmentSchemaValidationHack]

  unmarshal [DocLiteralInInterceptor, SoapHeaderInterceptor]

  post-logical [WrapperClassInInterceptor]

  pre-invoke [SwAInInterceptor, HolderInInterceptor, 
PolicyVerificationInInterceptor] Invoking handleMessage on interceptor 
org.apache.cxf.interceptor.LoggingInInterceptor@527a4a<mailto:org.apache.cxf.interceptor.LoggingInInterceptor@527a4a>

Invoking handleMessage on interceptor

org.apache.cxf.interceptor.AttachmentInInterceptor@ec7037<mailto:org.apache.cxf.interceptor.AttachmentInInterceptor@ec7037>

Invoking handleMessage on interceptor

org.apache.cxf.interceptor.StaxInInterceptor@1585596<mailto:org.apache.cxf.interceptor.StaxInInterceptor@1585596>

Invoking handleMessage on interceptor

org.apache.cxf.frontend.WSDLGetInterceptor@73fc8b<mailto:org.apache.cxf.frontend.WSDLGetInterceptor@73fc8b>

Invoking handleMessage on interceptor

org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor@163985e<mailto:org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor@163985e>

Invoking handleFault on interceptor

org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor@163985e<mailto:org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor@163985e>





Any thoughts on if this is a problem in how I make the WS call or if this could 
be a problem in the ReadHeadersInterceptor?



Thanks,



Chris

This e-mail message and all attachments transmitted with it may contain 
privileged and/or confidential information intended solely for the use of the 
addressee(s). If the reader of this message is not the intended recipient, you 
are hereby notified that any reading, dissemination, distribution, copying, 
forwarding or other use of this message or its attachments is strictly 
prohibited. If you have received this message in error, please notify the 
sender immediately and delete this message, all attachments and all copies and 
backups thereof.

Reply via email to