axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Santosh Joshi <santoshvjo...@yahoo.co.uk>
Subject Re: [jira] Commented: (AXIS-1335) MessageContext.setMessage() clashes with JAX-RPC Handler behavior
Date Wed, 07 Jul 2004 19:46:05 GMT
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
> appropriate SOAPMessageContext. The Handler
> implementation class has the
> responsibility of setting the response SOAP message
> in the handleRequest
> method and perform additional processing in the
> handleResponse method. In
> the default processing model, the response handler
> chain starts processing
> from the same Handler instance (that returned false)
> and
> > goes backward in the execution sequence."
> > -- END RELEVANT JAX-RPC 1.1 DOCUMENTATION ----
> >
> >
> >
> >
>
---------------------------------------------------------------------
> > JIRA INFORMATION:
> > This message is automatically generated by JIRA.
> >
> > If you think it was sent incorrectly contact one
> of the administrators:
> >   
>
http://issues.apache.org/jira/secure/Administrators.jspa
> >
> > If you want more information on JIRA, or have a
> bug to report see:
> >    http://www.atlassian.com/software/jira
> >
> >
> 
>  


	
	
		
___________________________________________________________ALL-NEW Yahoo! Messenger - sooooo
many all-new ways to express yourself http://uk.messenger.yahoo.com

Mime
View raw message