axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ali Sadik Kumlali <as_kuml...@yahoo.com>
Subject Re: [Axis2][1.0] Unexpected EOF in prolog
Date Sun, 14 May 2006 10:42:41 GMT
Hi Chamikara,

Thank you very much for the valuable comments. With your help, I've
discovered that my assumption was wrong. In sendResult(), I must have
call fireAndForget() instead of sendReceive(), since I didn't expect a
response from the client. By using fireAndForget() the code runs as
expected.

Now, only thing remained is to make my custom fireAndForget() that let
me handle HTTP 500 situations ;-)

Regards,

Ali Sadik Kumlali


--- Chamikara Jayalath <chamikaramj@gmail.com> wrote:

> 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
> >
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Mime
View raw message