Author: alessio.soldano(a)jboss.com
Date: 2012-08-27 12:55:00 -0400 (Mon, 27 Aug 2012)
New Revision: 16646
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/EndpointImpl.java
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/WSDLFilePublisher.java
Log:
[JBWS-3540] Derive expected schema location from path in wsdlLocation
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/EndpointImpl.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/EndpointImpl.java 2012-08-27
16:53:48 UTC (rev 16645)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/EndpointImpl.java 2012-08-27
16:55:00 UTC (rev 16646)
@@ -129,8 +129,12 @@
Service service = endpoint.getService();
try
{
- JaxWsImplementorInfo info = new JaxWsImplementorInfo(getImplementorClass());
- wsdlPublisher.publishWsdlFiles(service.getName(), info.getWsdlLocation(),
BusFactory.getThreadDefaultBus(false), service.getServiceInfos());
+ String wsdlLocation = getWsdlLocation();
+ if (wsdlLocation == null) {
+ JaxWsImplementorInfo info = new
JaxWsImplementorInfo(getImplementorClass());
+ wsdlLocation = info.getWsdlLocation();
+ }
+ wsdlPublisher.publishWsdlFiles(service.getName(), wsdlLocation,
BusFactory.getThreadDefaultBus(false), service.getServiceInfos());
}
catch (IOException ioe)
{
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/WSDLFilePublisher.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/WSDLFilePublisher.java 2012-08-27
16:53:48 UTC (rev 16645)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/deployment/WSDLFilePublisher.java 2012-08-27
16:55:00 UTC (rev 16646)
@@ -89,10 +89,11 @@
if (def != null)
{
List<String> published = new LinkedList<String>();
- publishWsdlImports(wsdlPublishURL, def, published);
+ String expLocation = getExpLocation(wsdlLocation);
+ publishWsdlImports(wsdlPublishURL, def, published, expLocation);
// Publish XMLSchema imports
- publishSchemaImports(wsdlPublishURL, doc.getDocumentElement(), published);
+ publishSchemaImports(wsdlPublishURL, doc.getDocumentElement(), published,
expLocation);
}
else
{
@@ -181,4 +182,12 @@
return result;
}
+
+ private String getExpLocation(String wsdlLocation) {
+ if (wsdlLocation == null || wsdlLocation.indexOf(expLocation) >= 0) {
+ return expLocation;
+ } else { //JBWS-3540
+ return wsdlLocation.contains("/") ? wsdlLocation.substring(0,
wsdlLocation.lastIndexOf("/") + 1) : "";
+ }
+ }
}
Show replies by date