You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2008/08/20 14:56:07 UTC
svn commit: r687300 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java
Author: barrettj
Date: Wed Aug 20 05:56:07 2008
New Revision: 687300
URL: http://svn.apache.org/viewvc?rev=687300&view=rev
Log:
Add backward compatability for serialized form from previous releases that didn't use the namespace on the Operation QName.
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java?rev=687300&r1=687299&r2=687300&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/externalize/ActivateUtils.java Wed Aug 20 05:56:07 2008
@@ -220,16 +220,27 @@
Iterator ito = service.getOperations();
+ // Previous versions of Axis2 didn't use a namespace on the operation name, so they wouldn't
+ // have externalized a namespace. If that's the case, only compare the localPart of the
+ // operation name
+ String namespace = opQName.getNamespaceURI();
+ boolean ignoreNamespace = false;
+ if (namespace == null || "".equals(namespace)) {
+ ignoreNamespace = true;
+ }
+
while (ito.hasNext()) {
AxisOperation operation = (AxisOperation) ito.next();
String tmpOpName = operation.getClass().getName();
QName tmpOpQName = operation.getName();
+
+ if ((tmpOpName.equals(opClassName)) &&
+ ((ignoreNamespace && (tmpOpQName.getLocalPart().equals(opQName.getLocalPart())) || (tmpOpQName.equals(opQName))))) {
- if ((tmpOpName.equals(opClassName)) && (tmpOpQName.equals(opQName))) {
- // trace point
if (log.isTraceEnabled()) {
- log.trace("ObjectStateUtils:findOperation(service): returning ["
+ log.trace("ObjectStateUtils:findOperation(service): ignoreNamespace [" + ignoreNamespace
+ + "] returning ["
+ opClassName + "] [" + opQName.toString() + "]");
}
@@ -239,7 +250,8 @@
// trace point
if (log.isTraceEnabled()) {
- log.trace("ObjectStateUtils:findOperation(service): [" + opClassName + "] ["
+ log.trace("ObjectStateUtils:findOperation(service): ignoreNamespace [" + ignoreNamespace
+ + " classname [" + opClassName + "] QName ["
+ opQName.toString() + "] returning [null]");
}