Hi Dims; done , thx for fixing the issue.
Thanks Deepal Davanum Srinivas wrote: > It's fixed. Deepal can u please check? (and commit) > > thanks, > dims > > On 2/5/07, Bill Nagy <[EMAIL PROTECTED]> wrote: > >> Hi Deepal, >> >> Yeah, dims broke it in r503499 [1]. >> >> [surefire] Running org.apache.axis2.engine.MessageContextChangeTest >> ERROR: number of actual fields [81] in MessageContext does not match >> the expected number [80] >> ERROR: MessageContext has new field [private static final boolean >> org.apache.axis2.context.MessageContext.isDebugEnabled] that needs to >> be assessed for message context save/restore functions >> [surefire] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.006 >> sec <<<<<<<< FAILURE !! >> >> What happened to running the tests before committing? 8-] >> >> I'll fix it tomorrow. >> >> -Bill >> >> [1]http://ws.zones.apache.org:10000/continuum/servlet/continuum/target/ProjectBuild.vm?view=ProjectBuild&buildId=645&id=61 >> >> >> On Mon, 2007-02-05 at 11:21 +0530, Deepal Jayasinghe wrote: >> > Hi Bill; >> > MessageContextChangeTest is failing for us :( , can you please have a >> > look at that. Till that I will exclude the test case from the build. >> > >> > Thanks >> > Deepal >> > >> > [EMAIL PROTECTED] wrote: >> > >> > >Author: nagy >> > >Date: Thu Feb 1 11:56:02 2007 >> > >New Revision: 502337 >> > > >> > >URL: http://svn.apache.org/viewvc?view=rev&rev=502337 >> > >Log: >> > >AXIS2-2076 >> > >Contributor: Ann Robinson >> > > >> > >Improved trace correlation for message context serialization and >> dealt with some serialization exceptions more gracefully. >> > > >> > >Modified: >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java >> >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/MessageContext.java >> >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/OperationContext.java >> >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceContext.java >> >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java >> >> > > >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/ObjectStateUtils.java >> >> > > >> > >Modified: >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java >> >> > >URL: >> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java?view=diff&rev=502337&r1=502336&r2=502337 >> >> > >> >============================================================================== >> >> > >--- >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java >> (original) >> > >+++ >> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java >> Thu Feb 1 11:56:02 2007 >> > >@@ -16,6 +16,7 @@ >> > > package org.apache.axis2.client; >> > > >> > > import org.apache.axiom.om.OMElement; >> > >+import org.apache.axiom.om.util.UUIDGenerator; >> > > import org.apache.axiom.soap.SOAP11Constants; >> > > import org.apache.axis2.AxisFault; >> > > import org.apache.axis2.Constants; >> > >@@ -66,6 +67,13 @@ >> > > private static final String myClassName = "Options"; >> > > >> > > /** >> > >+ * An ID which can be used to correlate operations on an >> instance of >> > >+ * this object in the log files >> > >+ */ >> > >+ private String logCorrelationIDString = myClassName +"@"+ >> UUIDGenerator.getUUID(); >> > >+ >> > >+ >> > >+ /** >> > > * @serial The serialization version ID tracks the version of >> the class. >> > > * If a class definition changes, then the >> serialization/externalization >> > > * of the class is affected. If a change to the class is made >> which is >> > >@@ -248,13 +256,7 @@ >> > > * @return listener >> > > */ >> > > public TransportListener getListener() { >> > >- if (needsToBeReconciled) { >> > >- if (log.isWarnEnabled()) { >> > >- log.warn(myClassName+":getListener(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- //System.out.println(myClassName+":getListener(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- >> > >+ checkActivateWarning("getListener"); >> > > if (listener == null && parent != null) { >> > > return parent.getListener(); >> > > } >> > >@@ -267,13 +269,7 @@ >> > > * @return transport information >> > > */ >> > > public TransportInDescription getTransportIn() { >> > >- if (needsToBeReconciled) { >> > >- if (log.isWarnEnabled()) { >> > >- log.warn(myClassName+":getTransportIn(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- //System.out.println(myClassName+":getTransportIn(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- >> > >+ checkActivateWarning("getTransportIn"); >> > > if (transportIn == null && parent != null) { >> > > return parent.getTransportIn(); >> > > } >> > >@@ -447,13 +443,7 @@ >> > > * @return description >> > > */ >> > > public TransportOutDescription getTransportOut() { >> > >- if (needsToBeReconciled) { >> > >- if (log.isWarnEnabled()) { >> > >- log.warn(myClassName+":getTransportOut(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- //System.out.println(myClassName+":getTransportOut(): >> ****WARNING**** Options.activate(configurationContext) needs to be >> invoked."); >> > >- } >> > >- >> > >+ checkActivateWarning("getTransportOut"); >> > > if (transportOut == null && parent != null) { >> > > return parent.getTransportOut(); >> > > } >> > >@@ -1066,8 +1056,8 @@ >> > > out.writeBoolean(manageSession); >> > > >> > > // the following objects could be null >> > >- ObjectStateUtils.writeObject(out, >> isExceptionToBeThrownOnSOAPFault, >> "Options.isExceptionToBeThrownOnSOAPFault"); >> > >- ObjectStateUtils.writeObject(out, useSeparateListener, >> "Options.useSeparateListener"); >> > >+ ObjectStateUtils.writeObject(out, >> isExceptionToBeThrownOnSOAPFault, >> logCorrelationIDString+".isExceptionToBeThrownOnSOAPFault"); >> > >+ ObjectStateUtils.writeObject(out, useSeparateListener, >> logCorrelationIDString+".useSeparateListener"); >> > > >> > > >> > > //--------------------------------------------------------- >> > >@@ -1075,34 +1065,76 @@ >> > > //--------------------------------------------------------- >> > > >> > > // String soapVersionURI >> > >- ObjectStateUtils.writeString(out, soapVersionURI, >> "Options.soapVersionURI"); >> > >+ ObjectStateUtils.writeString(out, soapVersionURI, >> logCorrelationIDString+".soapVersionURI"); >> > > >> > > // String action >> > >- ObjectStateUtils.writeString(out, action, "Options.action"); >> > >+ ObjectStateUtils.writeString(out, action, >> logCorrelationIDString+".action"); >> > > >> > > // String transportInProtocol >> > >- ObjectStateUtils.writeString(out, transportInProtocol, >> "Options.transportInProtocol"); >> > >+ ObjectStateUtils.writeString(out, transportInProtocol, >> logCorrelationIDString+".transportInProtocol"); >> > > >> > > // String messageId >> > >- ObjectStateUtils.writeString(out, messageId, >> "Options.messageId"); >> > >+ ObjectStateUtils.writeString(out, messageId, >> logCorrelationIDString+".messageId"); >> > >+ >> > >+ // String object id >> > >+ ObjectStateUtils.writeString(out, logCorrelationIDString, >> logCorrelationIDString+".logCorrelationIDString"); >> > > >> > > >> > > //--------------------------------------------------------- >> > > // various objects >> > > //--------------------------------------------------------- >> > > >> > >- // EndpointReference faultTo >> > >- ObjectStateUtils.writeObject(out, faultTo, >> "Options.faultTo"); >> > >+ // put some try..catch blocks around the following objects >> > >+ // so that the writing to the output stream continues >> > >+ // even if one of the objects can't be serialized >> > > >> > >- // EndpointReference from >> > >- ObjectStateUtils.writeObject(out, from, "Options.from"); >> > >+ try >> > >+ { >> > >+ // EndpointReference faultTo >> > >+ ObjectStateUtils.writeObject(out, faultTo, >> logCorrelationIDString+".faultTo"); >> > >+ } >> > >+ catch (Exception e1) >> > >+ { >> > >+ // note that the utility class will provide the trace >> for the >> > >+ // exception so we won't have to >> > >+ // so just consume the exception for now >> > >+ } >> > > >> > >- // EndpointReference replyTo >> > >- ObjectStateUtils.writeObject(out, replyTo, >> "Options.replyTo"); >> > >+ try >> > >+ { >> > >+ // EndpointReference from >> > >+ ObjectStateUtils.writeObject(out, from, >> logCorrelationIDString+".from"); >> > >+ } >> > >+ catch (Exception e2) >> > >+ { >> > >+ // note that the utility class will provide the trace >> for the >> > >+ // exception so we won't have to >> > >+ // so just consume the exception for now >> > >+ } >> > > >> > >- // EndpointReference to >> > >- ObjectStateUtils.writeObject(out, to, "Options.to"); >> > >+ try >> > >+ { >> > >+ // EndpointReference replyTo >> > >+ ObjectStateUtils.writeObject(out, replyTo, >> logCorrelationIDString+".replyTo"); >> > >+ } >> > >+ catch (Exception e3) >> > >+ { >> > >+ // note that the utility class will provide the trace >> for the >> > >+ // exception so we won't have to >> > >+ // so just consume the exception for now >> > >+ } >> > > >> > >+ try >> > >+ { >> > >+ // EndpointReference to >> > >+ ObjectStateUtils.writeObject(out, to, >> logCorrelationIDString+".to"); >> > >+ } >> > >+ catch (Exception e4) >> > >+ { >> > >+ // note that the utility class will provide the trace >> for the >> > >+ // exception so we won't have to >> > >+ // so just consume the exception for now >> > >+ } >> > > >> > > // TransportListener listener >> > > if (listener != null) >> > >@@ -1113,7 +1145,7 @@ >> > > { >> > > metaListener = null; >> > > } >> > >- ObjectStateUtils.writeObject(out, metaListener, >> "Options.listener"); >> > >+ ObjectStateUtils.writeObject(out, metaListener, >> logCorrelationIDString+".listener"); >> > > >> > > >> > > // TransportInDescription transportIn >> > >@@ -1125,7 +1157,7 @@ >> > > { >> > > metaTransportIn = null; >> > > } >> > >- ObjectStateUtils.writeObject(out, metaTransportIn, >> "Options.transportIn"); >> > >+ ObjectStateUtils.writeObject(out, metaTransportIn, >> logCorrelationIDString+".transportIn"); >> > > >> > > >> > > // TransportOutDescription transportOut >> > >@@ -1137,7 +1169,7 @@ >> > > { >> > > metaTransportOut = null; >> > > } >> > >- ObjectStateUtils.writeObject(out, metaTransportOut, >> "Options.transportOut"); >> > >+ ObjectStateUtils.writeObject(out, metaTransportOut, >> logCorrelationIDString+".transportOut"); >> > > >> > > >> > > >> > >@@ -1155,10 +1187,10 @@ >> > > tmp = new ArrayList(relationships); >> > > } >> > > >> > >- ObjectStateUtils.writeArrayList(out, tmp, >> "Options.relationships"); >> > >+ ObjectStateUtils.writeArrayList(out, tmp, >> logCorrelationIDString+".relationships"); >> > > >> > > // ArrayList referenceParameters >> > >- ObjectStateUtils.writeArrayList(out, referenceParameters, >> "Options.referenceParameters"); >> > >+ ObjectStateUtils.writeArrayList(out, referenceParameters, >> logCorrelationIDString+".referenceParameters"); >> > > >> > > //--------------------------------------------------------- >> > > // properties >> > >@@ -1167,16 +1199,24 @@ >> > > // HashMap properties >> > > HashMap tmpHM = new HashMap(properties); >> > > >> > >- ObjectStateUtils.writeHashMap(out, tmpHM, >> "Options.properties"); >> > >+ ObjectStateUtils.writeHashMap(out, tmpHM, >> logCorrelationIDString+".properties"); >> > > >> > > >> > > //--------------------------------------------------------- >> > > // "nested" >> > > //--------------------------------------------------------- >> > > >> > >- // Options parent >> > >- ObjectStateUtils.writeObject(out, parent, "Options.parent"); >> > >- >> > >+ try >> > >+ { >> > >+ // Options parent >> > >+ ObjectStateUtils.writeObject(out, parent, >> logCorrelationIDString+".parent"); >> > >+ } >> > >+ catch (Exception e5) >> > >+ { >> > >+ // note that the utility class will provide the trace >> for the >> > >+ // exception so we won't have to >> > >+ // so just consume the exception for now >> > >+ } >> > > >> > > } >> > > >> > >@@ -1252,6 +1292,12 @@ >> > > // String messageId >> > > messageId = ObjectStateUtils.readString(in, >> "Options.messageId"); >> > > >> > >+ // String object id >> > >+ logCorrelationIDString = ObjectStateUtils.readString(in, >> "Options.logCorrelationIDString"); >> > >+ >> > >+ // trace point >> > >+ log.trace(myClassName+":readExternal(): reading the >> input stream for ["+logCorrelationIDString+"]"); >> > >+ >> > > >> > > //--------------------------------------------------------- >> > > // various objects >> > >@@ -1368,14 +1414,6 @@ >> > > return; >> > > } >> > > >> > >- // do a trace point >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+":activate(): BEGIN"); >> > >- } >> > >- //System.out.println(myClassName+":activate(): BEGIN"); >> > >- >> > >- >> > > // use the supplied configuration context >> > > >> > > // get the axis configuration >> > >@@ -1393,9 +1431,7 @@ >> > > catch (Exception exin) >> > > { >> > > // if a fault is thrown, log it and continue >> > >- log.warn(myClassName+"activate(): exception >> caught when getting the TransportInDescription ["+qin.toString()+"] >> from the AxisConfiguration ["+exin.getClass().getName()+" : >> "+exin.getMessage()+"]"); >> > >- >> > >- //System.out.println(myClassName+"activate(): >> exception caught when getting the TransportInDescription >> ["+qin.toString()+"] from the AxisConfiguration >> ["+exin.getClass().getName()+" : "+exin.getMessage()+"]"); >> > >+ log.trace(logCorrelationIDString+"activate(): >> exception caught when getting the TransportInDescription >> ["+qin.toString()+"] from the AxisConfiguration >> ["+exin.getClass().getName()+" : "+exin.getMessage()+"]"); >> > > } >> > > >> > > if (tmpIn != null) >> > >@@ -1404,24 +1440,14 @@ >> > > } >> > > else >> > > { >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): No >> TransportInDescription found for ["+qin.toString()+"]"); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): No >> TransportInDescription found for ["+qin.toString()+"]"); >> > >+ log.trace(logCorrelationIDString+"activate(): No >> TransportInDescription found for ["+qin.toString()+"]"); >> > > >> > > transportIn = null; >> > > } >> > > } >> > > else >> > > { >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): No >> TransportInDescription "); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): No >> TransportInDescription "); >> > >+ log.trace(logCorrelationIDString+"activate(): No >> TransportInDescription "); >> > > >> > > transportIn = null; >> > > } >> > >@@ -1438,9 +1464,7 @@ >> > > catch (Exception exout) >> > > { >> > > // if a fault is thrown, log it and continue >> > >- log.warn(myClassName+"activate(): exception >> caught when getting the TransportOutDescription >> ["+qout.toString()+"] from the AxisConfiguration >> ["+exout.getClass().getName()+" : "+exout.getMessage()+"]"); >> > >- >> > >- //System.out.println(myClassName+"activate(): >> exception caught when getting the TransportOutDescription >> ["+qout.toString()+"] from the AxisConfiguration >> ["+exout.getClass().getName()+" : "+exout.getMessage()+"]"); >> > >+ log.trace(logCorrelationIDString+"activate(): >> exception caught when getting the TransportOutDescription >> ["+qout.toString()+"] from the AxisConfiguration >> ["+exout.getClass().getName()+" : "+exout.getMessage()+"]"); >> > > } >> > > >> > > if (tmpOut != null) >> > >@@ -1449,25 +1473,14 @@ >> > > } >> > > else >> > > { >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): No >> TransportOutDescription found for ["+qout.toString()+"]"); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): No >> TransportOutDescription found for ["+qout.toString()+"]"); >> > >- >> > >+ log.trace(logCorrelationIDString+"activate(): No >> TransportOutDescription found for ["+qout.toString()+"]"); >> > > >> > > transportOut = null; >> > > } >> > > } >> > > else >> > > { >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): No >> TransportOutDescription "); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): No >> TransportOutDescription "); >> > >+ log.trace(logCorrelationIDString+"activate(): No >> TransportOutDescription "); >> > > >> > > transportOut = null; >> > > } >> > >@@ -1481,24 +1494,13 @@ >> > > String listenerClass = metaListener.getClassName(); >> > > TransportListener tmpListener = >> ObjectStateUtils.findTransportListener(axisConfig, listenerClass); >> > > >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): >> TransportListener found for ["+listenerClass+"] "); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): >> TransportListener found for ["+listenerClass+"] "); >> > >- >> > >+ log.trace(logCorrelationIDString+"activate(): >> TransportListener found for ["+listenerClass+"] "); >> > > } >> > > else >> > > { >> > > listener = null; >> > > >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+"activate(): No >> TransportListener "); >> > >- } >> > >- >> > >- //System.out.println(myClassName+"activate(): No >> TransportListener "); >> > >+ log.trace(logCorrelationIDString+"activate(): No >> TransportListener "); >> > > } >> > > >> > > >> > >@@ -1506,13 +1508,6 @@ >> > > // done, reset the flag >> > > //------------------------------------------------------- >> > > needsToBeReconciled = false; >> > >- >> > >- if (log.isTraceEnabled()) >> > >- { >> > >- log.trace(myClassName+":activate(): END"); >> > >- } >> > >- >> > >- //System.out.println(myClassName+":activate(): END"); >> > > } >> > > >> > > >> > >@@ -1745,4 +1740,30 @@ >> > > return true; >> > > } >> > > >> > >+ >> > >+ /** >> > >+ * Get the ID associated with this object instance. >> > >+ * >> > >+ * @return A string that can be output to a log file as an >> identifier >> > >+ * for this object instance. It is suitable for matching >> related log >> > >+ * entries. >> > >+ */ >> > >+ public String getLogCorrelationIDString() >> > >+ { >> > >+ return logCorrelationIDString; >> > >+ } >> > >+ >> > >+ >> > >+ /** >> > >+ * Trace a warning message, if needed, indicating that this >> > >+ * object needs to be activated before accessing certain fields. >> > >+ * >> > >+ * @param methodname The method where the warning occurs >> > >+ */ >> > >+ private void checkActivateWarning(String methodname) >> > >+ { >> > >+ if (needsToBeReconciled) { >> > >+ log.warn(logCorrelationIDString+":"+methodname+"(): >> ****WARNING**** "+myClassName+".activate(configurationContext) needs >> to be invoked."); >> > >+ } >> > >+ } >> > > } >> > > >> > > >> > > >> > >--------------------------------------------------------------------- >> > >To unsubscribe, e-mail: [EMAIL PROTECTED] >> > >For additional commands, e-mail: [EMAIL PROTECTED] >> > > >> > > >> > > >> > > >> > > >> > >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Thanks, Deepal ................................................................ "The highest tower is built one brick at a time" --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
