[jbossws-commits] JBossWS SVN: r13145 - spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Mon Oct 18 06:07:13 EDT 2010


Author: richard.opalka at jboss.com
Date: 2010-10-18 06:07:13 -0400 (Mon, 18 Oct 2010)
New Revision: 13145

Modified:
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
Log:
[JBWS-3140][JBWS-3141] implement proper parsing of <addressing> & <respect-binding> elements

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java	2010-10-18 08:58:38 UTC (rev 13144)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java	2010-10-18 10:07:13 UTC (rev 13145)
@@ -53,6 +53,9 @@
 
    // The URL to the webservices.xml descriptor
    private URL descriptorURL;
+   
+   private boolean processingAddressingElement;
+   private boolean processingRespectBindingElement;
 
    public WebservicesFactory(URL descriptorURL)
    {
@@ -178,7 +181,18 @@
          return new UnifiedHandlerMetaData(null);
       else if ("handler-chains".equals(localName))
          return new UnifiedHandlerChainsMetaData();
-      else return null;
+      // @Addressing related elements
+      else if ("addressing".equals(localName)) {
+         processingAddressingElement = true;
+         processingRespectBindingElement = false;
+      }
+      // @RespectBinding related elements
+      else if ("respect-binding".equals(localName)) {
+         processingAddressingElement = false;
+         processingRespectBindingElement = true;
+      }
+      
+      return null;
    }
 
    /**
@@ -293,19 +307,21 @@
          portComponent.setProtocolBinding(value);
       // @Addressing related elements
       else if (localName.equals("enabled"))
-         portComponent.setAddressingEnabled(Boolean.valueOf(value));
-      else if (localName.equals("required"))
+      {
+         if (processingAddressingElement)
+            portComponent.setAddressingEnabled(Boolean.valueOf(value));
+         if (processingRespectBindingElement)
+            portComponent.setRespectBindingEnabled(Boolean.valueOf(value));
+      }
+      else if (localName.equals("required") && processingAddressingElement)
          portComponent.setAddressingRequired(Boolean.valueOf(value));
-      else if (localName.equals("responses"))
+      else if (localName.equals("responses") && processingAddressingElement)
          portComponent.setAddressingResponses(value);
       // @MTOM related elements
       else if (localName.equals("enable-mtom"))
          portComponent.setMtomEnabled(Boolean.valueOf(value));
       else if (localName.equals("mtom-threshold"))
          portComponent.setMtomThreshold(Integer.valueOf(value));
-      // @RespectBinding related elements
-      else if (localName.equals("respect-binding"))
-         portComponent.setRespectBindingEnabled(Boolean.valueOf(value));
    }
 
    /**



More information about the jbossws-commits mailing list