You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/02/11 20:29:19 UTC
svn commit: r743459 -
/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
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;