cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r743459 - /cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
Date Wed, 11 Feb 2009 19:29:19 GMT
Author: dkulp
Date: Wed Feb 11 19:29:19 2009
New Revision: 743459

URL: http://svn.apache.org/viewvc?rev=743459&view=rev
Log:
Fix creation of clients if DestFactory not found.  ConduitInitiator should be usable as well.

Modified:
    cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java

Modified: cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java?rev=743459&r1=743458&r2=743459&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
(original)
+++ cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
Wed Feb 11 19:29:19 2009
@@ -279,15 +279,30 @@
 
         setTransportId(transportId);
         
+        WSDLEndpointFactory wsdlEndpointFactory = null;
         if (destinationFactory == null) {
-            DestinationFactoryManager dfm = getBus().getExtension(DestinationFactoryManager.class);
-            destinationFactory = dfm.getDestinationFactory(transportId);
+            try {
+                destinationFactory = getBus().getExtension(DestinationFactoryManager.class)
+                    .getDestinationFactory(transportId);
+            } catch (Throwable t) {
+                try {
+                    Object o = getBus().getExtension(ConduitInitiatorManager.class)
+                        .getConduitInitiator(transportId);
+                    if (o instanceof WSDLEndpointFactory) {
+                        wsdlEndpointFactory = (WSDLEndpointFactory)o;
+                    }
+                } catch (Throwable th) {
+                    //ignore
+                }
+            }
+        } 
+        if (destinationFactory instanceof WSDLEndpointFactory) {
+            wsdlEndpointFactory = (WSDLEndpointFactory)destinationFactory;
         }
         
         EndpointInfo ei;
-        if (destinationFactory instanceof WSDLEndpointFactory) {
-            ei = ((WSDLEndpointFactory)destinationFactory)
-                .createEndpointInfo(service.getServiceInfos().get(0), bindingInfo, null);
+        if (wsdlEndpointFactory != null) {
+            ei = wsdlEndpointFactory.createEndpointInfo(service.getServiceInfos().get(0),
bindingInfo, null);
             ei.setTransportId(transportId);
         } else {
             ei = new EndpointInfo(service.getServiceInfos().get(0), transportId);
@@ -306,12 +321,8 @@
             ei.setProperty("publishedEndpointUrl", publishedEndpointUrl);
         }
 
-        if (destinationFactory instanceof WSDLEndpointFactory) {
-            WSDLEndpointFactory we = (WSDLEndpointFactory) destinationFactory;
-            
-            we.createPortExtensors(ei, service);
-        } else {
-            // ?
+        if (wsdlEndpointFactory != null) {
+            wsdlEndpointFactory.createPortExtensors(ei, service);
         }
         service.getServiceInfos().get(0).addEndpoint(ei);
         return ei;



Mime
View raw message