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 da...@apache.org on 2006/10/06 16:08:38 UTC

svn commit: r453603 - in /webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing: AddressingFinalInHandler.java AddressingInHandler.java AddressingOutHandler.java

Author: davidillsley
Date: Fri Oct  6 07:08:38 2006
New Revision: 453603

URL: http://svn.apache.org/viewvc?view=rev&rev=453603
Log:
Improved trace in addressing handlers and some small simplifications

Modified:
    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

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=453603&r1=453602&r2=453603
==============================================================================
--- 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 Fri Oct  6 07:08:38 2006
@@ -49,8 +49,14 @@
         while (headerBlocks.hasNext()) {
             SOAPHeaderBlock soapHeaderBlock = (SOAPHeaderBlock) headerBlocks.next();
             OMAttribute isRefParamAttr = soapHeaderBlock.getAttribute(new QName(namespace, "IsReferenceParameter"));
+            if (log.isTraceEnabled()){
+                log.trace("extractToEprReferenceParameters: Checking header: "+soapHeaderBlock.getQName());
+            }
             if (isRefParamAttr != null && "true".equals(isRefParamAttr.getAttributeValue())) {
                 toEPR.addReferenceParameter(soapHeaderBlock.getQName(), soapHeaderBlock.getText());
+                if (log.isTraceEnabled()){
+                    log.trace("extractToEprReferenceParameters: Header: "+soapHeaderBlock.getQName()+" has IsReferenceParameter attribute. Adding to toEPR.");
+                }
             }
         }
     }

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=453603&r1=453602&r2=453603
==============================================================================
--- 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 Fri Oct  6 07:08:38 2006
@@ -191,6 +191,11 @@
     	}else{
     		checkedHeaderNames.add(addressingHeaderName);
     	}
+        
+        if(log.isTraceEnabled()){
+            log.trace("checkDuplicateHeaders: addressingHeaderName="+addressingHeaderName+" isDuplicate="+shouldIgnore);
+        }
+        
     	return shouldIgnore;
     }
 
@@ -199,20 +204,32 @@
 
     private void extractRelatesToInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, Options messageContextOptions) {
         String address = soapHeaderBlock.getText();
+        
+        // Extract the RelationshipType attribute if it exists
         OMAttribute relationshipType =
                 soapHeaderBlock.getAttribute(
                         new QName(AddressingConstants.WSA_RELATES_TO_RELATIONSHIP_TYPE));
-        String relationshipTypeDefaultValue =
+        
+        String relationshipTypeString = null;
+        
+        // If an attribute was found, use the value from it 
+        if(relationshipType!=null){
+            relationshipTypeString = relationshipType.getAttributeValue();
+        }else{ // Else use the appropriate default (depends on namespace in use)
+            relationshipTypeString =
                 Submission.WSA_NAMESPACE.equals(addressingNamespace)
                         ? Submission.WSA_DEFAULT_RELATIONSHIP_TYPE
                         : Final.WSA_DEFAULT_RELATIONSHIP_TYPE;
-        RelatesTo relatesTo =
-                new RelatesTo(
-                        address,
-                        relationshipType == null
-                                ? relationshipTypeDefaultValue
-                                : relationshipType.getAttributeValue());
+        }
+        
+        if(log.isTraceEnabled()){
+            log.trace("extractRelatesToInformation: Extracted Relationship. Value="+address+" RelationshipType="+relationshipTypeString);
+        }
+        
+        RelatesTo relatesTo = new RelatesTo(address, relationshipTypeString);
         messageContextOptions.addRelatesTo(relatesTo);
+        
+        // Completed processing of this header
         soapHeaderBlock.setProcessed();
     }
 
@@ -224,6 +241,9 @@
             messageContextOptions.setFaultTo(epr);
         }
         extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
+        if(log.isTraceEnabled()){
+            log.trace("extractFaultToEPRInformation: Extracted FaultTo EPR: "+epr);
+        }
         soapHeaderBlock.setProcessed();
     }
 
@@ -235,6 +255,9 @@
             messageContextOptions.setReplyTo(epr);
         }
         extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
+        if(log.isTraceEnabled()){
+            log.trace("extractReplyToEPRInformation: Extracted ReplyTo EPR: "+epr);
+        }
         soapHeaderBlock.setProcessed();
     }
 
@@ -247,6 +270,9 @@
             messageContextOptions.setFrom(epr);
         }
         extractEPRInformation(soapHeaderBlock, epr, addressingNamespace, messageContext);
+        if(log.isTraceEnabled()){
+            log.trace("extractFromEPRInformation: Extracted From EPR: "+epr);
+        }
         soapHeaderBlock.setProcessed();
     }
 
@@ -261,6 +287,9 @@
         extractToEprReferenceParameters(epr, header, namespace);
         soapHeaderBlock.setProcessed();
 
+        if(log.isTraceEnabled()){
+            log.trace("extractToEPRInformation: Extracted To EPR: "+epr);
+        }
     }
     
     //We assume that any action that already exists in the message context must be the
@@ -269,14 +298,19 @@
     private void extractActionInformation(SOAPHeaderBlock soapHeaderBlock, String addressingNamespace, MessageContext messageContext) throws AxisFault {
         Options messageContextOptions = messageContext.getOptions();
         String soapAction = messageContextOptions.getAction();
+        String wsaAction = soapHeaderBlock.getText();
+        
+        if(log.isTraceEnabled()){
+            log.trace("extractActionInformation: soapAction='"+soapAction+"' wsa:Action='"+wsaAction+"'");
+        }
         
         if (soapAction != null && !"".equals(soapAction)) {
-            if (!soapAction.equals(soapHeaderBlock.getText())) {
+            if (!soapAction.equals(wsaAction)) {
                 AddressingFaultsHelper.triggerActionMismatchFault(messageContext);
             }
         }
         else {
-            messageContextOptions.setAction(soapHeaderBlock.getText());            
+            messageContextOptions.setAction(wsaAction);            
         }
         
         soapHeaderBlock.setProcessed();        
@@ -292,8 +326,10 @@
     private void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace, MessageContext messageContext) throws AxisFault {
         try {
             EndpointReferenceHelper.fromOM(epr, headerBlock, addressingNamespace);
-        }
-        catch (AxisFault af) {
+        }catch (AxisFault af) {
+            if(log.isTraceEnabled()){
+                log.trace("extractEPRInformation: Exception occurred deserialising an EndpointReference.",af);
+            }
             AddressingFaultsHelper.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=453603&r1=453602&r2=453603
==============================================================================
--- 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 Fri Oct  6 07:08:38 2006
@@ -181,6 +181,9 @@
                     String relationshipType = relatesTo[i].getRelationshipType();
 
                     if (relatesToHeader != null) {
+                        
+                        // I think that if it's one of these two constants we can just not add the attribute
+                        // which would save some small amount of bandwidth and processing.
                         if (Final.WSA_DEFAULT_RELATIONSHIP_TYPE.equals(relationshipType) ||
                             Submission.WSA_DEFAULT_RELATIONSHIP_TYPE.equals(relationshipType)) {
                             relationshipType = isFinalAddressingNamespace ?



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