Author: asankha
Date: Thu Nov 30 05:33:26 2006
New Revision: 480916
URL: http://svn.apache.org/viewvc?view=rev&rev=480916
Log:
workaround for issue with addressing
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?view=diff&rev=480916&r1=480915&r2=480916
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
Thu Nov 30 05:33:26 2006
@@ -23,6 +23,7 @@
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.client.OperationClient;
@@ -236,10 +237,22 @@
* @param headerInformation headers to be removed
*/
private static void detachAddressingInformation(ArrayList
headerInformation) {
- Iterator iterator = headerInformation.iterator();
- while (iterator.hasNext()) {
- SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) iterator.next();
- headerBlock.detach();
- }
- }
+ Iterator iterator = headerInformation.iterator();
+ while (iterator.hasNext()) {
+ Object o = iterator.next();
+ if (o instanceof SOAPHeaderBlock) {
+ SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
+ headerBlock.detach();
+ } else if (o instanceof OMElement) {
+ // work around for a known addressing bug which sends non
SOAPHeaderBlock objects
+ OMElement om = (OMElement) o;
+ OMNamespace ns = om.getNamespace();
+ if (ns != null &&
+
(AddressingConstants.Submission.WSA_NAMESPACE.equals(ns.getNamespaceURI())
+ ||
AddressingConstants.Final.WSA_NAMESPACE.equals(ns.getNamespaceURI()))) {
+ om.detach();
+ }
+ }
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]