You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2007/03/08 13:33:57 UTC
svn commit: r516024 - in
/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators:
builtin/LogMediator.java transform/HeaderMediator.java
Author: asankha
Date: Thu Mar 8 04:33:56 2007
New Revision: 516024
URL: http://svn.apache.org/viewvc?view=rev&rev=516024
Log:
Axis2 has a strange behaviour where some of the headers returned from getEnvelope().getHeader().examineAllHeaderBlocks() returns raw OMElements and not only SOAPHeaderBlock's - make our code resilient
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/HeaderMediator.java
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java?view=diff&rev=516024&r1=516023&r2=516024
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java Thu Mar 8 04:33:56 2007
@@ -20,6 +20,7 @@
package org.apache.synapse.mediators.builtin;
import org.apache.axiom.soap.SOAPHeaderBlock;
+import org.apache.axiom.om.OMElement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Constants;
@@ -119,8 +120,14 @@
StringBuffer sb = new StringBuffer();
Iterator iter = synCtx.getEnvelope().getHeader().examineAllHeaderBlocks();
while (iter.hasNext()) {
- SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) iter.next();
- sb.append(separator + headerBlock.getLocalName() + " : " + headerBlock.getText());
+ Object o = iter.next();
+ if (o instanceof SOAPHeaderBlock) {
+ SOAPHeaderBlock header = (SOAPHeaderBlock) o;
+ sb.append(separator + header.getLocalName() + " : " + header.getText());
+ } else if (o instanceof OMElement) {
+ OMElement headerElem = (OMElement) o;
+ sb.append(separator + headerElem.getLocalName() + " : " + headerElem.getText());
+ }
}
setCustomProperties(sb, synCtx);
return trimLeadingSeparator(sb);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/HeaderMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/HeaderMediator.java?view=diff&rev=516024&r1=516023&r2=516024
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/HeaderMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/HeaderMediator.java Thu Mar 8 04:33:56 2007
@@ -20,6 +20,7 @@
package org.apache.synapse.mediators.transform;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -131,9 +132,17 @@
Iterator iter = headersList.iterator();
while (iter.hasNext()) {
- SOAPHeaderBlock header = (SOAPHeaderBlock) iter.next();
- if (header.getLocalName().equals(qName.getLocalPart())) {
- header.detach();
+ Object o = iter.next();
+ if (o instanceof SOAPHeaderBlock) {
+ SOAPHeaderBlock header = (SOAPHeaderBlock) o;
+ if (header.getLocalName().equals(qName.getLocalPart())) {
+ header.detach();
+ }
+ } else if (o instanceof OMElement) {
+ OMElement omElem = (OMElement) o;
+ if (omElem.getLocalName().equals(qName.getLocalPart())) {
+ omElem.detach();
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org