axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Algirdas P. Veitas" <avei...@allesta.com>
Subject Re: [jira] Commented: (AXIS-1335) MessageContext.setMessage() clashes with JAX-RPC Handler behavior
Date Fri, 16 Jul 2004 05:03:20 GMT
Santosh, the context of all of this was within a JAX-RPC Handler (vs. an
Axis Handler).  Within the JAX-RPC Handler, we do not want to
cast the MessageContext to org.apache.axis.MessageContext, as this would
make a JAX-RPC Compliant Handler, non compliant :)

Dims, sorry I have not gotten back sooner, but yes, will submit a patch.
When is 1.2 going final??

Al

----- Original Message -----
From: "Santosh Joshi" <santoshvjoshi@yahoo.co.uk>
To: <axis-dev@ws.apache.org>
Sent: Wednesday, July 07, 2004 12:58 PM
Subject: Re: [jira] Commented: (AXIS-1335) MessageContext.setMessage()
clashes with JAX-RPC Handler behavior


> Dims,
>
> Sorry I got a bit confused, Yes I am with you now, we
> need a correction.
>
> Santosh
>
> --- Santosh Joshi <santoshvjoshi@yahoo.co.uk> wrote: >
> Al,
> >
> > Sorry I may not have been as clear in the first
> > email,
> > but what I meant was that there is a method to mark
> > that we are past the pivot point in AXIS, which you
> > can use to submit your own SOAP response XML and we
> > have used it in production from AXIS 1.1
> > successfully.
> >
> > e.g. Refer to AXIS JAVA API
> >
> > class org.apache.axis.MessageContext has a method
> > called "setPastPivot" with a boolean argument, which
> > indicates that the processing is past pivot!!
> >
> > Hope this helps,
> >
> > Santosh
> >
> > --- Santosh Joshi <santoshvjoshi@yahoo.co.uk> wrote:
> > >
> > Al,
> > >
> > > I think there is a maek past pivot point in AXIS,
> > > atelast it used to be there in 1.1, we have used
> > > it!!
> > >
> > > Are we saying that it has been withdrawn?
> > >
> > > Santosh
> > >
> > > --- "Algirdas P. Veitas" <aveitas@allesta.com>
> > > wrote:
> > > > Unfortunately, fixing 1310 will not alleviate
> > the
> > > > problem we see below.
> > > > Basically, when using a JAX-RPC Handler there is
> > > no
> > > > way to tell Axis that
> > > > you "havePastPivot".  Thus, if you set a fault
> > > > message in the soap context
> > > > and return false from your handler it does not
> > do
> > > > the right thing (i.e. act
> > > > like it has past the pivot).
> > > >
> > > > The original code will display this result
> > > (assuming
> > > > 1310 has been fixed in
> > > > the codebase you are using).
> > > >
> > > > Thanks,
> > > >     Al
> > > >
> > > > ----- Original Message -----
> > > > From: <axis-dev@ws.apache.org>
> > > > To: <aveitas@allesta.com>
> > > > Sent: Tuesday, July 06, 2004 8:05 PM
> > > > Subject: [jira] Commented: (AXIS-1335)
> > > > MessageContext.setMessage() clashes
> > > > with JAX-RPC Handler behavior
> > > >
> > > >
> > > > > The following comment has been added to this
> > > > issue:
> > > > >
> > > > >      Author: Davanum Srinivas
> > > > >     Created: Tue, 6 Jul 2004 8:03 PM
> > > > >        Body:
> > > > > If we fix AXIS-1310. Will it fix your problem?
> > > > >
> > > > > thanks,
> > > > > dims
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > View this comment:
> > > > >
> > > >
> > >
> >
> http://issues.apache.org/jira/browse/AXIS-1335?page=comments#action_36536
> > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > View the issue:
> > > > >
> > http://issues.apache.org/jira/browse/AXIS-1335
> > > > >
> > > > > Here is an overview of the issue:
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > >         Key: AXIS-1335
> > > > >     Summary: MessageContext.setMessage()
> > clashes
> > > > with JAX-RPC Handler
> > > > behavior
> > > > >        Type: Bug
> > > > >
> > > > >      Status: Open
> > > > >    Priority: Major
> > > > >
> > > > >     Project: Axis
> > > > >  Components:
> > > > >              Basic Architecture
> > > > >
> > > > >    Assignee: Davanum Srinivas
> > > > >    Reporter: Algirdas Veitas
> > > > >
> > > > >     Created: Sat, 24 Apr 2004 12:49 PM
> > > > >     Updated: Tue, 6 Jul 2004 8:03 PM
> > > > > Environment: Need to apply patch that was
> > > > submitted in bug #1310
> > > > >
> > > > > Description:
> > > > > As per the JAX-RPC specification, when a
> > JAX-RPC
> > > > Handler returns a value
> > > > "false" from handleRequest, it is the
> > > responsibility
> > > > of the Handler to set
> > > > the appropriate response message, during the
> > > > invocation of handleRequest.
> > > > See below for relevant specification
> > > documentation.
> > > > If I am
> > > > misinterpreting, please let me know!!
> > > > >
> > > > > With that said, a JAX-RPC Compliant handler
> > used
> > > > within Axis cannot
> > > > achieve the desired results in this scenario.
> > > When
> > > > the handle calls
> > > > > setMessage(SOAPMessage) to set the response
> > > > message, the actual
> > > > implementation of MessageContext sets this value
> > > to
> > > > the internal
> > > > requestMessage because "havePastPivot" is set to
> > > > false.  The internal method
> > > > of MessageContext is setCurrentMessage().
> > > > >
> > > > > The following code snippet and documentaiton
> > > > explains in more detail.
> > > > Full handler is attached.
> > > > >
> > > > > public boolean handleRequest(MessageContext
> > > > context) {
> > > > >
> > > > >     SOAPMessageContext soapMsgContext =
> > > > (SOAPMessageContext)context;
> > > > >     SOAPMessage faultMessage =
> > > > buildFaultMessage();
> > > > >
> > > > >     // SETTING THE FAULT MESSAGE FOR THE
> > > RESPONSE
> > > > ENVELOPE, HOWEVER
> > > > >     // SINCE THIS IS A JAX-RPC HANDLER USING
> > > AXIS
> > > > AND
> > > > >     // org.apache.axis.MessageContext AS A
> > > > CONCRETE IMPLEMENTATION
> > > > >     // "havePastPivot" IS SET TO FALSE SO THIS
> > > > FAULT MESSAGE
> > > > >     // WILL BE ASSIGNED TO THE REQUEST
> > MESSAGE!!
> > > > >     soapMsgContext.setMessage(faultMessage);
> > > > >     return false;
> > > > > }
> > > > >
> > > > > //
> > > > > public void setCurrentMessage(Message curMsg)
> > > > > {
> > > > >    curMsg.setMessageContext(this);
> > > > >
> > > > >         if (havePassedPivot) {
> > > > >             responseMessage = curMsg;
> > > > >         } else {
> > > > >             requestMessage = curMsg;
> > > > >         }
> > > > >     }
> > > > > }
> > > > >
> > > > > -- START RELEVANT JAX-RPC 1.1 DOCUMENTATION
> > ----
> > > > > "Return false to indicate blocking of the
> > > request
> > > > handler chain. In this
> > > > case, further processing of the request handler
> > > > chain is blocked and the
> > > > target service endpoint is not dispatched. The
> > > > JAX-RPC runtime system takes
> > > > the responsibility of invoking the response
> > > handler
> > > > chain next with the
> >
> === message truncated ===
>
>
>
>
>
> ___________________________________________________________ALL-NEW Yahoo!
Messenger - sooooo many all-new ways to express yourself
http://uk.messenger.yahoo.com
>


Mime
View raw message