Author: dkulp
Date: Tue Jan 27 04:13:04 2009
New Revision: 737996
URL: http://svn.apache.org/viewvc?rev=737996&view=rev
Log:
Merged revisions 737994 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r737994 | dkulp | 2009-01-26 23:07:04 -0500 (Mon, 26 Jan 2009) | 3 lines
[CXF-1920] Fix issue of unknown bindings causing exceptions even if binding
isn't used
At startup, only process the binding for the requested endpoint, not all of
them.
........
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/Messages.properties
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
cxf/branches/2.1.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
cxf/branches/2.1.x-fixes/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 04:13:04 2009
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
732710,732827,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521,727568,727692,727754,727781,727792,728070,728087,728696,728897,729051,729430,729449,729460,729863,730082,730139,730889,730891,731598,731604,731615,731631,731635,732036,732050,732320,732363,732411,732450,
732710,732827,733512,733582,733901,734367,734462,734666,734762,734772,734812,734836,734965,735113,735252,735722-735723,735729,735734,735751,735782,735787,735987,736332,736343,736352,736358-736362,736408,736423,736448,736491,736621,736726,736736,736738-736739,736766,736825,736852,737032,737046,737061,737069,737124,737237,737246,737299,737356,737494,737498,737761,737817,737849,737855,737994
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/Messages.properties
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/Messages.properties?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/Messages.properties
(original)
+++
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/Messages.properties
Tue Jan 27 04:13:04 2009
@@ -27,6 +27,6 @@
SERVICE_CREATION_MSG = Failed to create service.
NO_SUCH_SERVICE_EXC = Could not find definition for service {0}.
FAIL_TO_CREATE_WSDL_DEFINITION = Fail to create wsdl definition from :
{0}\r\nCaused by : {1}
-MISSING_DESTINATION_FACTORY = Cannot find the destination factory, check the
port //wsdl:po...@name='{0}']
+MISSING_DESTINATION_FACTORY = Cannot find the destination factory, check the
port //wsdl:po...@name=''{0}'']
MISSING_SERVICE= No definition of service {0} in the WSDL.
WSDL4J_BAD_ELEMENT_PART= Part {0} defined as element {1} which is not in the
schema.
Modified:
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
Tue Jan 27 04:13:04 2009
@@ -102,6 +102,7 @@
private Bus bus;
private Map<String, Element> schemaList = new HashMap<String, Element>();
private boolean recordOriginal = true;
+ private boolean ignoreUnknownBindings;
public WSDLServiceBuilder(Bus bus) {
this.bus = bus;
@@ -111,6 +112,10 @@
recordOriginal = record;
}
+ public void setIgnoreUnknownBindings(boolean b) {
+ ignoreUnknownBindings = b;
+ }
+
private void copyExtensors(AbstractPropertiesHolder info, List<?> extList)
{
if (info != null) {
for (ExtensibilityElement ext : cast(extList,
ExtensibilityElement.class)) {
@@ -143,16 +148,22 @@
for (java.util.Iterator<QName> ite =
CastUtils.cast(d.getServices().keySet().iterator()); ite
.hasNext();) {
QName qn = ite.next();
- serviceList.addAll(buildServices(d, qn, description));
+ serviceList.addAll(buildServices(d, qn, null, description));
}
return serviceList;
}
public List<ServiceInfo> buildServices(Definition d, QName name) {
- return buildServices(d, name, null);
+ return buildServices(d, name, null, null);
+ }
+ public List<ServiceInfo> buildServices(Definition d, QName name, QName
endpointName) {
+ return buildServices(d, name, endpointName);
}
- private List<ServiceInfo> buildServices(Definition d, QName name,
DescriptionInfo description) {
+ private List<ServiceInfo> buildServices(Definition d,
+ QName name,
+ QName endpointName,
+ DescriptionInfo description) {
Service service = d.getService(name);
if (service == null) {
org.apache.cxf.common.i18n.Message msg =
@@ -161,11 +172,14 @@
name);
throw new WSDLRuntimeException(msg);
}
- return buildServices(d, service, description);
+ return buildServices(d, service, endpointName, description);
}
public List<ServiceInfo> buildServices(Definition def, Service serv) {
- return buildServices(def, serv, null);
+ return buildServices(def, serv, null, null);
+ }
+ public List<ServiceInfo> buildServices(Definition def, Service serv, QName
endpointName) {
+ return buildServices(def, serv, endpointName, null);
}
public List<ServiceInfo> buildMockServices(Definition d) {
@@ -231,7 +245,10 @@
return service;
}
- private List<ServiceInfo> buildServices(Definition def, Service serv,
DescriptionInfo d) {
+ private List<ServiceInfo> buildServices(Definition def,
+ Service serv,
+ QName endpointName,
+ DescriptionInfo d) {
Map<QName, ServiceInfo> services = new LinkedHashMap<QName,
ServiceInfo>();
DescriptionInfo description = d;
@@ -246,6 +263,10 @@
copyExtensionAttributes(description, def);
}
for (Port port : cast(serv.getPorts().values(), Port.class)) {
+ if (endpointName != null
+ && !endpointName.getLocalPart().equals(port.getName())) {
+ continue;
+ }
Binding binding = port.getBinding();
PortType bindingPt = binding.getPortType();
if (bindingPt == null) {
@@ -378,7 +399,9 @@
}
}
if (ns == null) {
-
+ if (ignoreUnknownBindings) {
+ return null;
+ }
org.apache.cxf.common.i18n.Message msg = new
org.apache.cxf.common.i18n.Message("MISSING_DESTINATION_FACTORY",
LOG,
Modified:
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceFactory.java
Tue Jan 27 04:13:04 2009
@@ -45,6 +45,7 @@
private URL wsdlUrl;
private QName serviceName;
+ private QName endpointName;
private Definition definition;
public WSDLServiceFactory(Bus b, Definition d) {
@@ -85,7 +86,9 @@
serviceName = sn;
}
-
+ public void setEndpointName(QName qn) {
+ endpointName = qn;
+ }
public Service create() {
List<ServiceInfo> services;
@@ -114,7 +117,9 @@
throw new ServiceConstructionException(new
Message("NO_SUCH_SERVICE_EXC", LOG, serviceName));
}
try {
- services = new
WSDLServiceBuilder(getBus()).buildServices(definition, wsdlService);
+ services = new
WSDLServiceBuilder(getBus()).buildServices(definition,
+
wsdlService,
+
endpointName);
} catch (XmlSchemaException ex) {
throw new ServiceConstructionException(new
Message("SERVICE_CREATION_MSG", LOG), ex);
}
Modified:
cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
Tue Jan 27 04:13:04 2009
@@ -277,6 +277,7 @@
checkProperties();
// Initialize the endpointName so we can do configureObject
+ QName origEpn = endpointName;
if (endpointName == null) {
JaxWsImplementorInfo implInfo = new
JaxWsImplementorInfo(getImplementorClass());
endpointName = implInfo.getEndpointName();
@@ -291,6 +292,7 @@
}*/
configureObject(this);
+ endpointName = origEpn;
// Set up the server factory
serverFactory.setAddress(addr);
Modified:
cxf/branches/2.1.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Tue Jan 27 04:13:04 2009
@@ -54,6 +54,7 @@
import org.apache.cxf.BusException;
import org.apache.cxf.binding.BindingFactoryManager;
import org.apache.cxf.catalog.CatalogXmlSchemaURIResolver;
+import org.apache.cxf.clustering.FailoverFeature;
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.common.util.StringUtils;
@@ -309,6 +310,17 @@
}
populateFromClass = false;
WSDLServiceFactory factory = new WSDLServiceFactory(getBus(), url,
getServiceQName());
+ boolean setEPName = true;
+ if (features != null) {
+ for (AbstractFeature f : features) {
+ if (f instanceof FailoverFeature) {
+ setEPName = false;
+ }
+ }
+ }
+ if (setEPName) {
+ factory.setEndpointName(getEndpointName(false));
+ }
setService(factory.create());
setServiceProperties();
Modified:
cxf/branches/2.1.x-fixes/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java?rev=737996&r1=737995&r2=737996&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
(original)
+++
cxf/branches/2.1.x-fixes/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
Tue Jan 27 04:13:04 2009
@@ -105,8 +105,7 @@
FrontEndProfile frontend = context.get(FrontEndProfile.class);
if (frontend == null) {
- Message msg = new Message("FOUND_NO_FRONTEND", LOG);
- throw new ToolException(msg);
+ throw new ToolException(new Message("FOUND_NO_FRONTEND", LOG));
}
WSDLConstants.WSDLVersion version = getWSDLVersion();
@@ -133,6 +132,7 @@
builder.validate(definition);
WSDLServiceBuilder serviceBuilder = new
WSDLServiceBuilder(getBus());
+ serviceBuilder.setIgnoreUnknownBindings(true);
String serviceName =
(String)context.get(ToolConstants.CFG_SERVICENAME);
if (serviceName != null) {