You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/11/11 11:05:03 UTC

tomee git commit: TOMEE-1443 cxf.jaxws.wsFeatures

Repository: tomee
Updated Branches:
  refs/heads/develop ec4328466 -> fca7a9f1c


TOMEE-1443 cxf.jaxws.wsFeatures


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/fca7a9f1
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/fca7a9f1
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/fca7a9f1

Branch: refs/heads/develop
Commit: fca7a9f1c669c28885f89936fdc9b92f6836a3a8
Parents: ec43284
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Tue Nov 11 11:04:47 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Tue Nov 11 11:04:47 2014 +0100

----------------------------------------------------------------------
 .../org/apache/openejb/server/cxf/CxfEndpoint.java | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/fca7a9f1/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
index f90be02..3d907c2 100644
--- a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
+++ b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
@@ -41,9 +41,11 @@ import org.apache.openejb.server.cxf.transport.util.CxfUtil;
 import javax.naming.Context;
 import javax.xml.transform.Source;
 import javax.xml.ws.Binding;
+import javax.xml.ws.WebServiceFeature;
 import javax.xml.ws.handler.Handler;
 import javax.xml.ws.http.HTTPBinding;
 import javax.xml.ws.soap.SOAPBinding;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -294,6 +296,21 @@ public abstract class CxfEndpoint {
             serviceFactory.setDataBinding((DataBinding) instance);
         }
 
+        final String wsFeatures = beanConfig.getProperty(prefix + "wsFeatures");
+        if (wsFeatures != null) {
+            final Collection<Object> instances = ServiceInfos.resolve(availableServices, wsFeatures.split(" *, *"));
+            if (instances != null && !instances.isEmpty()) {
+                final List<WebServiceFeature> features = new ArrayList<>(instances.size());
+                for (final Object i : instances) {
+                    if (!WebServiceFeature.class.isInstance(i)) {
+                        throw new IllegalArgumentException("Not a WebServiceFeature: " + i);
+                    }
+                    features.add(WebServiceFeature.class.cast(i));
+                }
+                serviceFactory.setWsFeatures(features);
+            }
+        }
+
         return serviceFactory;
     }
 }