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 pr...@apache.org on 2006/09/18 20:53:44 UTC

svn commit: r447501 - in /webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2: addressing/ handlers/addressing/

Author: pradine
Date: Mon Sep 18 11:53:43 2006
New Revision: 447501

URL: http://svn.apache.org/viewvc?view=rev&rev=447501
Log:
Simplify the addressing handlers by using the new EndpointRefernceHelper class.

Modified:
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/addressing/FinalFaultsHelper.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/addressing/FinalFaultsHelper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/addressing/FinalFaultsHelper.java?view=diff&rev=447501&r1=447500&r2=447501
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/addressing/FinalFaultsHelper.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/addressing/FinalFaultsHelper.java Mon Sep 18 11:53:43 2006
@@ -39,6 +39,13 @@
     }
 
     //      wsa:MissingAddressInEPR
+    public static void triggerMissingAddressInEPRFault(MessageContext messageContext, String incorrectHeaderName) throws AxisFault {
+        if(log.isDebugEnabled()){
+            log.debug("triggerMissingAddressInEPRFault: messageContext: "+messageContext+" incorrectHeaderName: "+incorrectHeaderName);
+        }
+        triggerAddressingFault(messageContext, Final.FAULT_HEADER_PROB_HEADER_QNAME, AddressingConstants.WSA_DEFAULT_PREFIX + ":" + incorrectHeaderName, Final.FAULT_INVALID_HEADER, "MissingAddressInEPR", Final.FAULT_INVALID_HEADER_REASON);
+    }
+
     //      wsa:DuplicateMessageID
     //      wsa:ActionMismatch
     public static void triggerActionMismatchFault(MessageContext messageContext) throws AxisFault {

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java?view=diff&rev=447501&r1=447500&r2=447501
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java Mon Sep 18 11:53:43 2006
@@ -1,16 +1,13 @@
 package org.apache.axis2.handlers.addressing;
 
 import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.FinalFaultsHelper;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.engine.AxisEngine;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -58,43 +55,6 @@
         }
     }
 
-    protected void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace) {
-
-        Iterator childElements = headerBlock.getChildElements();
-        while (childElements.hasNext()) {
-            OMElement eprChildElement = (OMElement) childElements.next();
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_ADDRESS),
-                    eprChildElement.getQName())) {
-                epr.setAddress(eprChildElement.getText());
-            } else
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_REFERENCE_PARAMETERS)
-                    , eprChildElement.getQName())) {
-
-                Iterator referenceParameters = eprChildElement.getChildElements();
-                while (referenceParameters.hasNext()) {
-                    OMElement element = (OMElement) referenceParameters.next();
-                    epr.addReferenceParameter(element);
-                }
-            } else
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.Final.WSA_METADATA), eprChildElement.getQName()))
-            {
-                Iterator referenceParameters = eprChildElement.getChildElements();
-                while (referenceParameters.hasNext()) {
-                    OMElement element = (OMElement) referenceParameters.next();
-                    epr.addMetaData(element);
-                }
-            } else {
-                epr.addExtensibleElement(eprChildElement);
-            }
-        }
-
-        Iterator allAttributes = headerBlock.getAllAttributes();
-        while (allAttributes.hasNext()) {
-            OMAttribute attribute = (OMAttribute) allAttributes.next();
-            epr.addAttribute(attribute);
-        }
-    }
-    
     protected void checkForMandatoryHeaders(ArrayList alreadyFoundAddrHeader, MessageContext messageContext) throws AxisFault {
         if (!alreadyFoundAddrHeader.contains(WSA_ACTION)) {
             FinalFaultsHelper.triggerMessageAddressingRequiredFault(messageContext, WSA_ACTION);

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java?view=diff&rev=447501&r1=447500&r2=447501
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java Mon Sep 18 11:53:43 2006
@@ -17,21 +17,18 @@
 package org.apache.axis2.handlers.addressing;
 
 import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.EndpointReferenceHelper;
 import org.apache.axis2.addressing.FinalFaultsHelper;
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.util.JavaUtils;
-import org.apache.axis2.util.Utils;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -39,14 +36,11 @@
 import javax.xml.namespace.QName;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
-import java.util.Map;
 
 public abstract class AddressingInHandler extends AddressingHandler implements AddressingConstants {
 
     private static final long serialVersionUID = 3907988439637261572L;
-    private OMNamespace addressingNSObject;
 
     private static final Log log = LogFactory.getLog(AddressingInHandler.class);
 
@@ -94,7 +88,7 @@
         if (addressingHeaders != null && addressingHeaders.size() > 0) {
             msgContext.setProperty(WS_ADDRESSING_VERSION, namespace);
             msgContext.setProperty(DISABLE_ADDRESSING_FOR_OUT_MESSAGES, Boolean.FALSE);
-            addressingNSObject = ((OMElement) addressingHeaders.get(0)).findNamespace(namespace, "");
+
 			if(log.isDebugEnabled()) {
 				log.debug(addressingVersion + " Headers present in the SOAP message. Starting to process ...");
 			}
@@ -106,8 +100,6 @@
 				log.debug("No Headers present corresponding to " + addressingVersion);
 			}
         }
-
-
     }
 
     protected Options extractAddressingInformation(SOAPHeader header, MessageContext messageContext,
@@ -154,16 +146,16 @@
             if (WSA_TO.equals(soapHeaderBlock.getLocalName()) && !ignoreTo) {
                 extractToEPRInformation(soapHeaderBlock, messageContextOptions, header, namespace);
             } else if (WSA_FROM.equals(soapHeaderBlock.getLocalName()) && !ignoreFrom) {
-                extractFromEPRInformation(messageContextOptions, soapHeaderBlock, namespace);
+                extractFromEPRInformation(soapHeaderBlock, namespace, messageContext);
             } else if (WSA_REPLY_TO.equals(soapHeaderBlock.getLocalName()) && !ignoreReplyTo) {
-                extractReplyToEPRInformation(messageContextOptions, soapHeaderBlock, namespace);
+                extractReplyToEPRInformation(soapHeaderBlock, namespace, messageContext);
             } else if (WSA_FAULT_TO.equals(soapHeaderBlock.getLocalName()) && !ignoreFaultTo) {
-                extractFaultToEPRInformation(messageContextOptions, soapHeaderBlock, namespace);
+                extractFaultToEPRInformation(soapHeaderBlock, namespace, messageContext);
             } else if (WSA_MESSAGE_ID.equals(soapHeaderBlock.getLocalName()) && !ignoreMessageID) {
                 messageContextOptions.setMessageId(soapHeaderBlock.getText());
                 soapHeaderBlock.setProcessed();
             } else if (WSA_ACTION.equals(soapHeaderBlock.getLocalName()) && !ignoreAction) {
-                extractActionInformation(messageContextOptions, soapHeaderBlock, namespace, messageContext);
+                extractActionInformation(soapHeaderBlock, namespace, messageContext);
             } else if (WSA_RELATES_TO.equals(soapHeaderBlock.getLocalName())) {
                 extractRelatesToInformation(soapHeaderBlock, namespace, messageContextOptions);
             }
@@ -224,37 +216,37 @@
         soapHeaderBlock.setProcessed();
     }
 
-    private void extractFaultToEPRInformation(Options messageContextOptions, SOAPHeaderBlock soapHeaderBlock, String addressingNamespace) {
-        EndpointReference epr;
-        epr = messageContextOptions.getFaultTo();
+    private void extractFaultToEPRInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+        Options messageContextOptions = messageContext.getOptions();
+        EndpointReference epr = messageContextOptions.getFaultTo();
         if (epr == null) {
             epr = new EndpointReference("");
             messageContextOptions.setFaultTo(epr);
         }
-        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
         soapHeaderBlock.setProcessed();
     }
 
-    private void extractReplyToEPRInformation(Options messageContextOptions, SOAPHeaderBlock soapHeaderBlock, String addressingNamespace) {
-        EndpointReference epr;
-        epr = messageContextOptions.getReplyTo();
+    private void extractReplyToEPRInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+        Options messageContextOptions = messageContext.getOptions();
+        EndpointReference epr = messageContextOptions.getReplyTo();
         if (epr == null) {
             epr = new EndpointReference("");
             messageContextOptions.setReplyTo(epr);
         }
-        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
         soapHeaderBlock.setProcessed();
     }
 
-    private void extractFromEPRInformation(Options messageContextOptions, SOAPHeaderBlock soapHeaderBlock, String addressingNamespace) {
-        EndpointReference epr;
-        epr = messageContextOptions.getFrom();
+    private void extractFromEPRInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+        Options messageContextOptions = messageContext.getOptions();
+        EndpointReference epr = messageContextOptions.getFrom();
         if (epr == null) {
             epr = new EndpointReference("");  // I don't know the address now. Let me pass the empty string now and fill this
             // once I process the Elements under this.
             messageContextOptions.setFrom(epr);
         }
-        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+        extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
         soapHeaderBlock.setProcessed();
     }
 
@@ -274,7 +266,8 @@
     //We assume that any action that already exists in the message context must be the
     //soapaction. We compare that action to the WS-Addressing action, and if they are
     //different we throw a fault.
-    private void extractActionInformation(Options messageContextOptions, SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+    private void extractActionInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+        Options messageContextOptions = messageContext.getOptions();
         String soapAction = messageContextOptions.getAction();
         
         if (soapAction != null && !"".equals(soapAction)) {
@@ -296,13 +289,12 @@
      * @param epr
      * @param addressingNamespace
      */
-    protected abstract void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace);
-
-    /**
-     * @param expectedQName
-     * @param actualQName
-     */
-    protected boolean checkElement(QName expectedQName, QName actualQName) {
-        return (expectedQName.getLocalPart().equals(actualQName.getLocalPart()) && expectedQName.getNamespaceURI().equals(actualQName.getNamespaceURI()));
+    private void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace, MessageContext messageContext) throws AxisFault {
+        try {
+            EndpointReferenceHelper.fromOM(epr, headerBlock, addressingNamespace);
+        }
+        catch (AxisFault af) {
+            FinalFaultsHelper.triggerMissingAddressInEPRFault(messageContext, headerBlock.getLocalName());
+        }
     }
 }

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java?view=diff&rev=447501&r1=447500&r2=447501
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java Mon Sep 18 11:53:43 2006
@@ -16,10 +16,8 @@
 
 package org.apache.axis2.handlers.addressing;
 
-import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.util.ElementHelper;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
@@ -31,6 +29,7 @@
 import org.apache.axis2.util.JavaUtils;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.EndpointReferenceHelper;
 import org.apache.axis2.addressing.FinalFaultsHelper;
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.client.Options;
@@ -39,7 +38,6 @@
 import org.apache.axis2.wsdl.WSDLConstants;
 
 import javax.xml.namespace.QName;
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -120,16 +118,16 @@
         }
 
         // processing WSA To
-        processToEPR(messageContextOptions, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+        processToEPR(messageContextOptions, envelope, addressingNamespaceObject, replaceHeaders);
 
         // processing WSA replyTo
-        processReplyTo(envelope, messageContextOptions, msgContext, addressingNamespaceObject, namespace, anonymousURI, replaceHeaders);
-
+        processReplyTo(envelope, messageContextOptions, msgContext, addressingNamespaceObject, anonymousURI, replaceHeaders);
+        
         // processing WSA From
-        processFromEPR(messageContextOptions, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+        processFromEPR(messageContextOptions, envelope, addressingNamespaceObject, replaceHeaders);
 
         // processing WSA FaultTo
-        processFaultToEPR(messageContextOptions, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+        processFaultToEPR(messageContextOptions, envelope, addressingNamespaceObject, replaceHeaders);
 
         String messageID = messageContextOptions.getMessageId();
         if (messageID != null && !isAddressingHeaderAlreadyAvailable(WSA_MESSAGE_ID, envelope,
@@ -211,23 +209,23 @@
         }
     }
 
-    private void processFaultToEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, String namespace, boolean replaceHeaders) {
+    private void processFaultToEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, boolean replaceHeaders) throws AxisFault {
         EndpointReference epr;
         epr = messageContextOptions.getFaultTo();
         if (epr != null) {//optional
-            addToSOAPHeader(epr, AddressingConstants.WSA_FAULT_TO, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+            addToSOAPHeader(epr, AddressingConstants.WSA_FAULT_TO, envelope, addressingNamespaceObject, replaceHeaders);
         }
     }
 
-    private void processFromEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, String namespace, boolean replaceHeaders) {
+    private void processFromEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, boolean replaceHeaders) throws AxisFault {
         EndpointReference epr;
         epr = messageContextOptions.getFrom();
         if (epr != null) {//optional
-            addToSOAPHeader(epr, AddressingConstants.WSA_FROM, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+            addToSOAPHeader(epr, AddressingConstants.WSA_FROM, envelope, addressingNamespaceObject, replaceHeaders);
         }
     }
 
-    private void processReplyTo(SOAPEnvelope envelope, Options messageContextOptions, MessageContext msgContext, OMNamespace addressingNamespaceObject, String namespace, String anonymousURI, boolean replaceHeaders) {
+    private void processReplyTo(SOAPEnvelope envelope, Options messageContextOptions, MessageContext msgContext, OMNamespace addressingNamespaceObject, String anonymousURI, boolean replaceHeaders) throws AxisFault {
         EndpointReference epr = null;
         if (!isAddressingHeaderAlreadyAvailable(WSA_REPLY_TO, envelope, addressingNamespaceObject, replaceHeaders))
         {
@@ -257,11 +255,11 @@
         			epr = new EndpointReference(anonymousURI);
         		}
         	}
-	        addToSOAPHeader(epr, AddressingConstants.WSA_REPLY_TO, envelope, addressingNamespaceObject, namespace, replaceHeaders);
+            addToSOAPHeader(epr, AddressingConstants.WSA_REPLY_TO, envelope, addressingNamespaceObject, replaceHeaders);
         }
     }
 
-    private void processToEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, String namespace, boolean replaceHeaders) {
+    private void processToEPR(Options messageContextOptions, SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, boolean replaceHeaders) {
         EndpointReference epr = messageContextOptions.getTo();
         if (epr != null && !isAddressingHeaderAlreadyAvailable(WSA_TO, envelope, addressingNamespaceObject, replaceHeaders))
         {
@@ -274,7 +272,7 @@
                 SOAPHeaderBlock toHeaderBlock = envelope.getHeader().addHeaderBlock(WSA_TO, addressingNamespaceObject);
                 toHeaderBlock.setText(address);
             }
-            processToEPRReferenceInformation(referenceParameters, envelope.getHeader(),addressingNamespaceObject, namespace);
+            processToEPRReferenceInformation(referenceParameters, envelope.getHeader(),addressingNamespaceObject);
         }
     }
 
@@ -292,94 +290,29 @@
         return null;
     }
 
-    protected void addToSOAPHeader(EndpointReference epr,
-                                   String type,
-                                   SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, String namespace, boolean replaceHeaders) {
+    private void addToSOAPHeader(EndpointReference epr,
+                                 String type,
+                                 SOAPEnvelope envelope, OMNamespace addressingNamespaceObject, boolean replaceHeaders) throws AxisFault {
         if (epr == null || isAddressingHeaderAlreadyAvailable(type, envelope, addressingNamespaceObject,replaceHeaders))
         {
             return;
         }
 
-        SOAPHeaderBlock soapHeaderBlock =
-                envelope.getHeader().addHeaderBlock(type, addressingNamespaceObject);
-
-        // add epr address
-        String address = epr.getAddress();
-        if (!"".equals(address) && address != null) {
-            OMElement addressElement = envelope.getOMFactory().createOMElement(EPR_ADDRESS, addressingNamespaceObject, soapHeaderBlock);
-            addressElement.setText(address);
-        }
-
-        // add reference parameters
-        Map referenceParameters = epr.getAllReferenceParameters();
-        if (referenceParameters != null) {
-            OMElement reference =
-                    envelope.getOMFactory().createOMElement(
-                            EPR_REFERENCE_PARAMETERS,
-                            addressingNamespaceObject, soapHeaderBlock);
-            processReferenceInformation(referenceParameters, reference, namespace);
-
-        }
-
-        // add xs:any
-        ArrayList omElements = epr.getExtensibleElements();
-        if (omElements != null) {
-            for (int i = 0; i < omElements.size(); i++) {
-                soapHeaderBlock.addChild((OMElement) omElements.get(i));
-            }
-        }
-
-        // add metadata
-        ArrayList metaDataList = epr.getMetaData();
-        if (metaDataList != null) {
-            OMElement metadata =
-                    envelope.getOMFactory().createOMElement(
-                            Final.WSA_METADATA,
-                            addressingNamespaceObject, soapHeaderBlock);
-            for (int i = 0; i < metaDataList.size(); i++) {
-                metadata.addChild((OMNode) metaDataList.get(i));
-            }
-
-        }
-
-        if (epr.getAttributes() != null) {
-            Iterator attrIter = epr.getAttributes().iterator();
-            while (attrIter.hasNext()) {
-                OMAttribute omAttributes = (OMAttribute) attrIter.next();
-                soapHeaderBlock.addAttribute(omAttributes);
-            }
-        }
-
+        String namespace = addressingNamespaceObject.getNamespaceURI();
+        String prefix = addressingNamespaceObject.getPrefix();
 
+        OMElement soapHeaderBlock = EndpointReferenceHelper.toOM(epr, new QName(namespace, type, prefix), namespace);
+        envelope.getHeader().addChild(soapHeaderBlock);
     }
 
-
     /**
      * This will add reference parameters and/or reference properties in to the message
      *
      * @param referenceInformation
      */
-    private void processReferenceInformation(Map referenceInformation, OMElement parent, String namespace) {
+    private void processToEPRReferenceInformation(Map referenceInformation, OMElement parent, OMNamespace addressingNamespaceObject) {
 
-        boolean processingWSAFinal = Final.WSA_NAMESPACE.equals(namespace);
-        if (referenceInformation != null && parent != null) {
-            Iterator iterator = referenceInformation.keySet().iterator();
-            while (iterator.hasNext()) {
-                QName key = (QName) iterator.next();
-                OMElement omElement = (OMElement) referenceInformation.get(key);
-                parent.addChild(ElementHelper.importOMElement(omElement, parent.getOMFactory()));
-            }
-        }
-    }
-
-    /**
-     * This will add reference parameters and/or reference properties in to the message
-     *
-     * @param referenceInformation
-     */
-    private void processToEPRReferenceInformation(Map referenceInformation, OMElement parent, OMNamespace addressingNamespaceObject, String namespace) {
-
-        boolean processingWSAFinal = Final.WSA_NAMESPACE.equals(namespace);
+        boolean processingWSAFinal = Final.WSA_NAMESPACE.equals(addressingNamespaceObject.getNamespaceURI());
         if (referenceInformation != null && parent != null) {
             Iterator iterator = referenceInformation.keySet().iterator();
             while (iterator.hasNext()) {
@@ -390,12 +323,10 @@
                 if (processingWSAFinal) {
                     omElement.addAttribute(Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, Final.WSA_TYPE_ATTRIBUTE_VALUE,
                             addressingNamespaceObject);
-
                 }
             }
         }
     }
-
 
     /**
      * This will check for the existence of message information headers already in the message. If there are already headers,

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java?view=diff&rev=447501&r1=447500&r2=447501
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java Mon Sep 18 11:53:43 2006
@@ -1,23 +1,15 @@
 package org.apache.axis2.handlers.addressing;
 
-import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.FinalFaultsHelper;
-import org.apache.axis2.addressing.AddressingConstants.Final;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import javax.xml.namespace.QName;
-
 import java.util.ArrayList;
-import java.util.Iterator;
 
 /*
  * Copyright 2001-2004 The Apache Software Foundation.
@@ -55,47 +47,6 @@
         // TODO : Chinthaka
     }
 
-    protected void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace) {
-
-        Iterator childElements = headerBlock.getChildElements();
-        while (childElements.hasNext()) {
-            OMElement eprChildElement = (OMElement) childElements.next();
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_ADDRESS),
-                    eprChildElement.getQName())) {
-                epr.setAddress(eprChildElement.getText());
-            } else
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_REFERENCE_PARAMETERS)
-                    , eprChildElement.getQName())) {
-
-                Iterator referenceParameters = eprChildElement.getChildElements();
-                while (referenceParameters.hasNext()) {
-                    OMElement element = (OMElement) referenceParameters.next();
-                    epr.addReferenceParameter(element);
-                }
-            } else
-            if (checkElement(new QName(addressingNamespace, AddressingConstants.Submission.EPR_REFERENCE_PROPERTIES)
-                    , eprChildElement.getQName())) {
-
-                // since we have the model for WS-Final, we don't have a place to keep this reference properties.
-                // The only compatible place is reference properties
-
-                Iterator referenceParameters = eprChildElement.getChildElements();
-                while (referenceParameters.hasNext()) {
-                    OMElement element = (OMElement) referenceParameters.next();
-                    epr.addReferenceParameter(element);
-                }
-            }else {
-                epr.addExtensibleElement(eprChildElement);
-            }
-        }
-        
-        Iterator allAttributes = headerBlock.getAllAttributes();
-        while (allAttributes.hasNext()) {
-            OMAttribute attribute = (OMAttribute) allAttributes.next();
-            epr.addAttribute(attribute);
-        }
-    }
-    
     protected void checkForMandatoryHeaders(ArrayList alreadyFoundAddrHeader, MessageContext messageContext) throws AxisFault {
         if (!alreadyFoundAddrHeader.contains(WSA_TO)) {
             // Should write a new SubmissionFaults class but for the moment use the FinalFaults



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org