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