You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org> on 2005/03/15 23:15:22 UTC
[jira] Resolved: (AXIS-1864) MessageContext In Handler not Change...
[ http://issues.apache.org/jira/browse/AXIS-1864?page=history ]
Davanum Srinivas resolved AXIS-1864:
------------------------------------
Resolution: Won't Fix
Please use the methods as described by jongjin.
-- dims
> MessageContext In Handler not Change...
> ---------------------------------------
>
> Key: AXIS-1864
> URL: http://issues.apache.org/jira/browse/AXIS-1864
> Project: Axis
> Type: Bug
> Components: Basic Architecture
> Versions: 1.2RC3
> Environment: WEBLOGIC 6.1
> Reporter: oh dong won
>
> Some Question on Axis Handler
> My Service is.. very simple like this..
> ..............
> public class HelloWorld {
> public HelloWorld() {
> }
> public String getHelloWorldMessage(String test1,String test2) {
>
> System.out.println("test1 : " + test1);
> System.out.println("test2 : " + test2);
> .......
> .. some.. DB job.
> ..
> return test1;
> }
> }
> very Simple.( input:2 output: 1)
> but Client side send inputparam with base64encoded..
> In Service side, I can't add decoding method because copyright , zipped JAR, and ETC
> (and I wish to use axis Handler)
> therefor I use Axis Handler Like this..
> ..
> ..
> public class HandlerTest extends BasicHandler {
> public HandlerTest() {
> }
> public void invoke(org.apache.axis.MessageContext messageContext) throws org.apache.axis.AxisFault {
> System.out.println("*********** Handler1 START*************");
> String logfilename = "";
> try{
> SOAPEnvelope envelope = messageContext.getCurrentMessage().getSOAPEnvelope();
>
> //////////////
> // get RPCElement
> RPCElement pel = (RPCElement) envelope.getFirstBody();
> Vector v = pel.getParams();
> int nSize = v.size();
> logMessage(logfilename,"nSize :" + nSize);
>
> ////////////////
> // get All RPC input Param
> for(int i = 0 ; i < nSize ; i++ ){
> RPCParam parmTest = (RPCParam)v.get(i); // get RPCParam(Value, Name)
> String vVALUE = (String) parmTest.getValue();
> String vNAME = (String) parmTest.getName();
>
> logMessage(logfilename,"vNAME :" + vNAME);
> logMessage(logfilename,"vVALUE :" + vVALUE);
>
> //////////////////////
> // base64decoidng....
> String vdecodedValue = new String( Base64.decode( (String)parmTest.getValue()) );
> logMessage(logfilename,"vdecodedValue :" + vdecodedValue);
>
> /////////////
> // setting value
> parmTest.setValue(vdecodedValue);
>
> vVALUE = (String) parmTest.getValue();
> logMessage(logfilename,"After decode :" + vVALUE);
> }
> messageContext.getCurrentMessage().saveChanges();
> Message mess = messageContext.getCurrentMessage();
>
> mess.writeTo(System.out); // NOT CHANGE XML(Not decoded....)
> .....
>
>
> Why Not Change messagecontext?
> messagecontext in Invoke Method is read ONLY?
--
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