axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Senthil Sona <sws...@cisco.com>
Subject Re: How to terminate InFlow and start OutFlow in the custom handler of axis2
Date Fri, 15 May 2009 14:11:09 GMT

Hi Deepal/Amila,

   Could you please reply to my previous mail.

Thanks,
Swapna Soni.


Senthil Sona wrote:
> 
> I Tried that also, its behaving the same
> 
> Deepal Jayasinghe-2 wrote:
>> 
>> 
>>>
>>> org.apache.axis2.AxisFault: validation failed error with complete stack
>>> trace. And its printing again and again. 
>> Thats correct right?
>> Because whenever message comes to the server it sends a fault, so client
>> keeps on getting faults. The solution would be do have some condition in
>> the in-flow handler and throw the exception only if something went wrong.
>>> this  is becuase we are engaging
>>> sandesha and its not getting acknowledge thats why its sending teh
>>> request
>>> again and again. How to stop this and send the fault response to client.
>>> Please help me.
>>>   
>> I think you might have put the handler in the wrong place, how about
>> putting the handler after the sandesha handlers ?
>> 
>> Deepal
>>> Thanks,
>>> Swapna Soni.
>>>
>>>
>>> Deepal Jayasinghe-2 wrote:
>>>   
>>>> As I can see the problem is, in the faultflow you abort the execution,
>>>> so you get such an error. try to use two handlers for in-flow and
>>>> fault-flow
>>>>
>>>> Deepal
>>>>     
>>>>> Hi Amila,
>>>>>
>>>>>    I have written the below code in handler this time.
>>>>>
>>>>> 	public InvocationResponse invoke(MessageContext msgContext) throws
>>>>> AxisFault {
>>>>> 		if(msgContext.getFLOW()==1)
>>>>>         	 {
>>>>> 			throw new AxisFault("validation failed error");
>>>>> 		  }
>>>>>  	 return InvocationResponse.ABORT;
>>>>> 	}
>>>>> Now when i am running the client, i am getting the below exception
>>>>> instead
>>>>> of fault response message.
>>>>>
>>>>> org.apache.axis2.AxisFault: First Element must contain the local name,
>>>>> Envelope , but found html
>>>>> 	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>>>>> 	at
>>>>> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90)
>>>>> 	at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
>>>>> 	at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
>>>>> 	at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
>>>>> 	at
>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>>>>> 	at
>>>>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
>>>>> 	at
>>>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:127)
>>>>> 	at org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:486)
>>>>> 	at
>>>>> org.apache.rampart.util.RampartUtil.getSecConvToken(RampartUtil.java:396)
>>>>> 	at
>>>>> org.apache.rampart.builder.SymmetricBindingBuilder.initializeTokens(SymmetricBindingBuilder.java:670)
>>>>> 	at
>>>>> org.apache.rampart.builder.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:73)
>>>>> 	at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:128)
>>>>> 	at
>>>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>>>>> 	at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
>>>>> 	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
>>>>> 	at org.apache.axis2.engine.AxisEngine.resumeSend(AxisEngine.java:370)
>>>>> 	at
>>>>> org.apache.sandesha2.workers.SenderWorker.run(SenderWorker.java:287)
>>>>> 	at
>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>>>>> 	at
>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>>>>> 	at java.lang.Thread.run(Thread.java:735)
>>>>> Caused by: org.apache.axiom.soap.SOAPProcessingException: First
>>>>> Element
>>>>> must
>>>>> contain the local name, Envelope , but found html
>>>>> 	at
>>>>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)
>>>>> 	at
>>>>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)
>>>>> 	at
>>>>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java
>>>>>
>>>>> Thanks,
>>>>> Swapna Soni.
>>>>>
>>>>>
>>>>> Amila Suriarachchi wrote:
>>>>>   
>>>>>       
>>>>>> On Thu, May 14, 2009 at 11:47 AM, Senthil Sona <swsoni@cisco.com>
>>>>>> wrote:
>>>>>>
>>>>>>     
>>>>>>         
>>>>>>> Hi Amila,
>>>>>>>
>>>>>>>    I have set the written the below code in my custom module.
>>>>>>>
>>>>>>>         public InvocationResponse invoke(MessageContext msgContext)
>>>>>>> throws
>>>>>>> AxisFault {
>>>>>>>                if(msgContext.getFLOW()==1)
>>>>>>>                  {
>>>>>>>                         MessageContext faultContext =
>>>>>>>
>>>>>>> MessageContextBuilder.createFaultMessageContext(msgContext, new
>>>>>>> AxisFault("validation failed error", new QName("validation error",
>>>>>>> "wsa")));
>>>>>>>                         AxisEngine.sendFault(faultContext);
>>>>>>>
>>>>>>>       
>>>>>>>           
>>>>>> here as I told you earlier try to throw the AxisFault()
>>>>>>
>>>>>> i.e throw new AxisFault("validation error");
>>>>>>
>>>>>> then the fault sending part is done at the transport level.
>>>>>>
>>>>>> thanks,
>>>>>> Amila.
>>>>>>
>>>>>>     
>>>>>>         
>>>>>>>                  }
>>>>>>>          return InvocationResponse.ABORT;
>>>>>>>        }
>>>>>>>
>>>>>>> But when running the client program i am getting error at client
>>>>>>> console
>>>>>>> like
>>>>>>>
>>>>>>> org.apache.axis2.AxisFault: The input stream for an incoming
message
>>>>>>> is
>>>>>>> null.
>>>>>>>        at
>>>>>>>
>>>>>>> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:72)
>>>>>>>        at
>>>>>>>
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
>>>>>>>         at
>>>>>>>
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
>>>>>>>        at
>>>>>>>
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
>>>>>>>        at
>>>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>>>>>>>        at
>>>>>>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
>>>>>>>        at
>>>>>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:127)
>>>>>>>        at
>>>>>>> org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:486)
>>>>>>>        at
>>>>>>> org.apache.rampart.util.RampartUtil.getSecConvToken(RampartUtil.java:396)
>>>>>>>        at
>>>>>>>
>>>>>>> org.apache.rampart.builder.SymmetricBindingBuilder.initializeTokens(SymmetricBindingBuilder.java:670)
>>>>>>>
>>>>>>> For outFaultFlow i am calling same handler and wrote the code
like
>>>>>>>
>>>>>>>           if(msgContext.getFLOW()==4) {
>>>>>>>                System.out.println("This is OutFaultFlow");
>>>>>>>                System.out.println("
>>>>>>> messagecontext=="+msgContext.getEnvelope());
>>>>>>>           }
>>>>>>> So its printing the fault soap resonse
>>>>>>>
>>>>>>> <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
xmlns:s
>>>>>>> oapenv="http://www.w3.org/2003/05/soap-envelope
>>>>>>> "><soapenv:Body><soapenv:Fault
>>>>>>> xm
>>>>>>> lns:axis2ns5="validation
>>>>>>> error"><soapenv:Code><soapenv:Value>axis2ns5:wsa</soape
>>>>>>> nv:Value></soapenv:Code><soapenv:Reason><soapenv:Text
>>>>>>> xml:lang="en-US">validatio
>>>>>>> n failed error</soapenv:Text></soapenv:Reason><soapenv:Detail
>>>>>>> /></soapenv:Fault>
>>>>>>> </soapenv:Body></soapenv:Envelope>
>>>>>>>
>>>>>>> I want this response should be printed at client console. How
can i
>>>>>>> do
>>>>>>> this,
>>>>>>> please help me. Its stopping our  productivity.
>>>>>>>
>>>>>>> I have uploaded the Handler class and client class. Could you
please
>>>>>>> have
>>>>>>> a
>>>>>>> webex session with us. So that we can show you our complete code
and
>>>>>>> how
>>>>>>> the
>>>>>>> program is behaving when we run the client. It will help us to
>>>>>>> resolve
>>>>>>> the
>>>>>>> problem soon.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Swapna Soni.
>>>>>>>
>>>>>>>
>>>>>>> Amila Suriarachchi wrote:
>>>>>>>       
>>>>>>>           
>>>>>>>> On Wed, May 13, 2009 at 8:48 PM, Senthil Sona <swsoni@cisco.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>         
>>>>>>>>             
>>>>>>>>> Hi Deepal,
>>>>>>>>>
>>>>>>>>>    I have added the code in the handler class like
>>>>>>>>>
>>>>>>>>>        if(msgContext.getFLOW()==1)
>>>>>>>>>        {
>>>>>>>>>                 logger.info("This is inFlow");
>>>>>>>>>                  System.out.println("This is inFlow");
>>>>>>>>>                 MessageContext faultContext =
>>>>>>>>>
>>>>>>>>> MessageContextBuilder.createFaultMessageContext(msgContext,
new
>>>>>>>>> AxisFault("validation failed error", new QName("validation
error",
>>>>>>>>> "wsa")));
>>>>>>>>>                         AxisEngine.sendFault(faultContext);
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>> it is bit difficult to answer your question without looking
all
>>>>>>>> your
>>>>>>>>         
>>>>>>>>             
>>>>>>> code.
>>>>>>>       
>>>>>>>           
>>>>>>>> But try this.
>>>>>>>>
>>>>>>>>
>>>>>>>> if you want to send a soap fault to client side, throw an
AxisFault
>>>>>>>>         
>>>>>>>>             
>>>>>>> here.
>>>>>>>       
>>>>>>>           
>>>>>>>> When you throw an AxisFault it is caught at the transport
level and
>>>>>>>> it
>>>>>>>> sends
>>>>>>>> the fault message by calling to fault flow.
>>>>>>>>
>>>>>>>> if you want to send a normal soap message do this,
>>>>>>>>
>>>>>>>> MessageContext outMsgContext =
>>>>>>>> MessageContextBuilder.createOutMessageContext(msgContext);
>>>>>>>> AxisEngine.send(outMsgContext);
>>>>>>>> return InvocationResponse.ABORT
>>>>>>>>
>>>>>>>> here it is important to return InvocationResponse.ABORT to
>>>>>>>> terminate
>>>>>>>>         
>>>>>>>>             
>>>>>>> the
>>>>>>>       
>>>>>>>           
>>>>>>>> inFlow.
>>>>>>>>
>>>>>>>> thanks,
>>>>>>>> Amila.
>>>>>>>>
>>>>>>>>         
>>>>>>>>             
>>>>>>>>>        }
>>>>>>>>>
>>>>>>>>>  I am using the same handler class for inflow and outfault
flow
>>>>>>>>> thats
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> why
>>>>>>>       
>>>>>>>           
>>>>>>>>> i
>>>>>>>>> am checking if(msgContext.getFLOW()==1). At client console
i am
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> getting
>>>>>>>       
>>>>>>>           
>>>>>>>>> error like
>>>>>>>>>
>>>>>>>>> org.apache.axis2.AxisFault: validation failed error
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:127)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>> org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:486)
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.rampart.util.RampartUtil.getSecConvToken(RampartUtil.java:396)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.rampart.builder.SymmetricBindingBuilder.initializeTokens(SymmetricBindingBuilder.java:670)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.rampart.builder.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:73)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>> org.apache.rampart.MessageBuilder.build(MessageBuilder.java:128)
>>>>>>>>>        at
>>>>>>>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>>>>>>>>>        at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
>>>>>>>>>        at
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>> org.apache.axis2.engine.AxisEngine.resumeSend(AxisEngine.java:370)
>>>>>>>>>        at
>>>>>>>>> org.apache.sandesha2.workers.SenderWorker.run(SenderWorker.java:287)
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>>>>>>>       
>>>>>>>           
>>>>>>>>>        at java.lang.Thread.run(Thread.java:735)
>>>>>>>>>
>>>>>>>>> and its keep on executing the handler, Because i am able
to see
>>>>>>>>> the
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> log
>>>>>>>       
>>>>>>>           
>>>>>>>>> message i am printing in inflow if condition again and
again. I am
>>>>>>>>> printing
>>>>>>>>> the message context in OutFaultFlow. i am getting the
message like
>>>>>>>>>
>>>>>>>>> This is OutFaultFlow
>>>>>>>>>  messagecontext==<?xml version='1.0'
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> encoding='utf-8'?><soapenv:Envelope
>>>>>>>       
>>>>>>>           
>>>>>>>>> xmlns:s
>>>>>>>>> oapenv="http://www.w3.org/2003/05/soap-envelope
>>>>>>>>> "><soapenv:Body><soapenv:Fault
>>>>>>>>> xm
>>>>>>>>> lns:axis2ns5="validation
>>>>>>>>> error"><soapenv:Code><soapenv:Value>axis2ns5:wsa</soape
>>>>>>>>> nv:Value></soapenv:Code><soapenv:Reason><soapenv:Text
>>>>>>>>> xml:lang="en-US">validatio
>>>>>>>>> n failed error</soapenv:Text></soapenv:Reason><soapenv:Detail
>>>>>>>>> /></soapenv:Fault>
>>>>>>>>> </soapenv:Body></soapenv:Envelope>
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Swapna Soni.
>>>>>>>>>
>>>>>>>>> Deepal Jayasinghe-2 wrote:
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>> Try this,
>>>>>>>>>>
>>>>>>>>>> MessageContext faultContext =
>>>>>>>>>> MessageContextBuilder.createFaultMessageContext(messageCtx,
e);
>>>>>>>>>> AxisEngine.sendFault(faultContext);
>>>>>>>>>>
>>>>>>>>>> - Deepal
>>>>>>>>>>             
>>>>>>>>>>                 
>>>>>>>>>>> Hi Deepal,
>>>>>>>>>>>
>>>>>>>>>>>    Thanks for your reply. If we set the
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> AxisEngine.sendFault(msgContext)
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> in
>>>>>>>>>>> inflow handler, it will execute the outFaultFlow
but client
>>>>>>>>>>> program
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> wotn
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> get
>>>>>>>>>>> any response and we are getting org.apache.axis2.AxisFault:
Read
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>> timed
>>>>>>>       
>>>>>>>           
>>>>>>>>>>> out
>>>>>>>>>>> exception. And its again and again executing
the inflow handler.
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>> For
>>>>>>>       
>>>>>>>           
>>>>>>>>>>> testing
>>>>>>>>>>> purpose i have written
>>>>>>>>>>>      if(msgContext.getFLOW()==1)
>>>>>>>>>>>         {
>>>>>>>>>>>               logger.info("This is inFlow");
>>>>>>>>>>> }
>>>>>>>>>>>  in the inFlowhandler class and its getting execute
again and
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>> again.
>>>>>>>       
>>>>>>>           
>>>>>>>>> But
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> i
>>>>>>>>>>> want it should get execute only once when request
comes from
>>>>>>>>>>> client
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> and
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> it
>>>>>>>>>>> should do validation of that request message,
if something is
>>>>>>>>>>> wrong
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> then
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> outflow or OutFaultFlow should get execute and
send the proper
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>> error
>>>>>>>       
>>>>>>>           
>>>>>>>>>>> response to client and should get terminate there
only. Once we
>>>>>>>>>>> get
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> any
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> validation error in inFlow handler, it should
not process
>>>>>>>>>>> further
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>> engaged
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> module and request should terminate in inFlow
and from there
>>>>>>>>>>> client
>>>>>>>>>>> should
>>>>>>>>>>> get response via outFlow or outFaultFlow.
>>>>>>>>>>>
>>>>>>>>>>>    We are engaging the sandesha and rampart from
in the client
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>> program
>>>>>>>       
>>>>>>>           
>>>>>>>>>>> only.
>>>>>>>>>>>
>>>>>>>>>>>                      sender.engageModule("addressing");
>>>>>>>>>>>                      sender.engageModule("sandesha2");
>>>>>>>>>>>
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>  options.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>> "Yash_Seq");
>>>>>>>>>>>                      sender.engageModule("rampart");
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>  options.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> loadPolicy("C:/WS-X/misc/20090427/WTPTestRM2Client/WebContent/WEB-INF/conf/policy.xml"));
>>>>>>>       
>>>>>>>           
>>>>>>>>>>> Could you please let us know how to achieve this
functionality.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Swapna Soni.
>>>>>>>>>>>
>>>>>>>>>>> Deepal Jayasinghe-2 wrote:
>>>>>>>>>>>
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>>>> Behavior will be different based on the dispatch
status, but
>>>>>>>>>>>> you
>>>>>>>>>>>>                 
>>>>>>>>>>>>                     
>>>>>>> can
>>>>>>>       
>>>>>>>           
>>>>>>>>>>>> simply call.
>>>>>>>>>>>>
>>>>>>>>>>>> AxisEngine.sendFault(messageContext)
>>>>>>>>>>>>
>>>>>>>>>>>> Then it will send  the fault
>>>>>>>>>>>>
>>>>>>>>>>>> -  Deepal
>>>>>>>>>>>>
>>>>>>>>>>>>                 
>>>>>>>>>>>>                     
>>>>>>>>>>>>> Hi Axis Team,
>>>>>>>>>>>>>
>>>>>>>>>>>>>     I have one very urgent requirement.
One client program
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>> invokes
>>>>>>>       
>>>>>>>           
>>>>>>>>> the
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>>>> service in which sandesha, rampart and
one custom module is
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>> engaged.
>>>>>>>       
>>>>>>>           
>>>>>>>>> In
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>>>> custom Inflow handler we do some validation.
If something is
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>> wrong
>>>>>>>       
>>>>>>>           
>>>>>>>>> in
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>>>> that
>>>>>>>>>>>>> validation, then we want it to start
the outFlow and send the
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>> custom
>>>>>>>       
>>>>>>>           
>>>>>>>>>>>>> response to client back without executing
further engaged
>>>>>>>>>>>>> modules
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>>>> and
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>>>> without invoking service.
>>>>>>>>>>>>>
>>>>>>>>>>>>>    Could anyone please tell me how can
i do this using axis2
>>>>>>>>>>>>> api.
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>>>> Its
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>>>>> very
>>>>>>>>>>>>> very urgent requirement for us.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> swapna soni
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>>>>>>> --
>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> http://blogs.deepal.org
>>>>>>>>>>>> http://deepal.org
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                 
>>>>>>>>>>>>                     
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>> --
>>>>>>>>>> Thank you!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> http://blogs.deepal.org
>>>>>>>>>> http://deepal.org
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>             
>>>>>>>>>>                 
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>> http://www.nabble.com/How-to-terminate-InFlow-and-start-OutFlow-in-the-custom-handler-of-axis2-tp23521710p23523940.html
>>>>>>>       
>>>>>>>           
>>>>>>>>> Sent from the Axis - Dev mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>> --
>>>>>>>> Amila Suriarachchi
>>>>>>>> WSO2 Inc.
>>>>>>>> blog: http://amilachinthaka.blogspot.com/
>>>>>>>>
>>>>>>>>
>>>>>>>>         
>>>>>>>>             
>>>>>>> http://www.nabble.com/file/p23534995/LogHandler.java LogHandler.java
>>>>>>> http://www.nabble.com/file/p23534995/client.java client.java
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/How-to-terminate-InFlow-and-start-OutFlow-in-the-custom-handler-of-axis2-tp23521710p23534995.html
>>>>>>> Sent from the Axis - Dev mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>>       
>>>>>>>           
>>>>>> -- 
>>>>>> Amila Suriarachchi
>>>>>> WSO2 Inc.
>>>>>> blog: http://amilachinthaka.blogspot.com/
>>>>>>
>>>>>>
>>>>>>     
>>>>>>         
>>>>>   
>>>>>       
>>>> -- 
>>>> Thank you!
>>>>
>>>>
>>>> http://blogs.deepal.org
>>>> http://deepal.org
>>>>
>>>>
>>>>
>>>>     
>>>
>>>   
>> 
>> 
>> -- 
>> Thank you!
>> 
>> 
>> http://blogs.deepal.org
>> http://deepal.org
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/How-to-terminate-InFlow-and-start-OutFlow-in-the-custom-handler-of-axis2-tp23521710p23560612.html
Sent from the Axis - Dev mailing list archive at Nabble.com.


Mime
View raw message