axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chamikara Jayalath" <chamikar...@gmail.com>
Subject Re: [Axis2][1.0] Unexpected EOF in prolog
Date Sun, 14 May 2006 05:22:28 GMT
Hi Ali,

Even though you have done changes to your service code you are still using
the serviceClient.sendReceive() method in the client side which uses the
OutInAxisOperationClient.

When useSeperateListner=false, OutInAxisOperationClient expects a
same-channel response message and that should be the reason for this
exception. When it is true what is expected is a asnyc response which you
send within your service code.

Chamikara


On 5/14/06, Ali Sadik Kumlali <as_kumlali@yahoo.com> wrote:
>
> Hi all,
>
> Has anyone ran into this exception? I could manage :) to get it with
> following steps:
>
> - Used EchoBlockingDualClient sample. Didn't change client code.
> - Changed message receiver of MyService to RawXMLINOnlyMessageReceiver
> - Changed MyService.java as following:
>
> ----------------------------------------------------------------------
> public class MyService {
>
>   private MessageContext inMsgCtx;
>
>   public void setOperationContext(OperationContext opctx)
>            throws AxisFault {
>     inMsgCtx =
>       opctx.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
>   }
>
>   public void echo (OMElement incomingPayload)
>
>         throws XMLStreamException {
>     incomingPayload.build();
>     incomingPayload.detach();
>
>     OMElement outgoingPayload = incomingPayload;
>
>     oldOptions = inMsgCtx.getOptions();
>     String messageID = inMsgCtx.getMessageID();
>     EndpointReference targetEPR = oldOptions.getReplyTo();
>     String action = oldOptions.getAction();
>     sendResult(messageID, targetEPR, action, outgoingPayload);
>   }
>
>   public void sendResult(String messageId, EndpointReference targetEPR,
>         String action, OMElement payload) {
>     ServiceClient sender = null;
>     try {
>       Options options = new Options();
>       options.setTo(targetEPR);
>       options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>       options.setUseSeparateListener(false);
>       options.setAction(action);
>       options.setMessageId(UUIDGenerator.getUUID());
>       options.setRelationships(new RelatesTo[] {
>           new RelatesTo(messageId,
>               AddressingConstants.Submission.
>               WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE)});
>
>       ConfigurationContext confCtx =
>           ListenerManager.defaultConfigurationContext;
>       sender = new ServiceClient(confCtx, null);
>       sender.setOptions(options);
>
>       // Blocking Invocation
>       sender.sendReceive(payload);
>     } catch (AxisFault axisFault) {
>       axisFault.printStackTrace();
>     } catch (Exception ex) {
>       ex.printStackTrace();
>     } finally {
>       try {
>           sender.finalizeInvoke();
>       } catch (AxisFault axisFault) {
>           // have to ignore this
>           axisFault.printStackTrace();
>       }
>     }
>   }
> }
> ----------------------------------------------------------------------
>
> When I pass "true" to setUseSeparateListener(), there is no problem.
> Otherwise I get following exception:
>
> ----------------------------------------------------------------------
> [DEBUG][2006-05-13 23:15:08,046] org.apache.axis2.engine.Phase -
> Checking post-conditions for phase "MessageOut"
> postMethod.getStatusCode(): 200
> contentEncoding: null
> org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException:
> Unexpected EOF in prolog
> at [row,col {unknown-source}]: [1,0]; nested exception is:
>         org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException
> :
> Unexpected EOF in prolog
> at [row,col {unknown-source}]: [1,0]
>         at
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(
> TransportUtils.java:126)
>         at
> org.apache.axis2.transport.TransportUtils.createSOAPMessage(
> TransportUtils.java:67)
>         at
> org.apache.axis2.description.OutInAxisOperationClient.send(
> OutInAxisOperation.java:349)
>         at
> org.apache.axis2.description.OutInAxisOperationClient.execute(
> OutInAxisOperation.java:279)
>         at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:513)
> ...
> ----------------------------------------------------------------------
>
> Is it normal behavior due to a missing point in my code, or is it a
> bug?
>
> Any help would be appreciated.
>
> Regards,
>
> Ali Sadik Kumlali
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>

Mime
View raw message