Author: asoldano
Date: 2013-11-18 13:08:22 -0500 (Mon, 18 Nov 2013)
New Revision: 18095
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java
Log:
[JBWS-3736] soap:address rewrite does not consider wsdlLocation in SEI @WebService
Modified:
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java
===================================================================
---
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java 2013-11-15
13:42:03 UTC (rev 18094)
+++
stack/cxf/trunk/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java 2013-11-18
18:08:22 UTC (rev 18095)
@@ -225,6 +225,7 @@
portName = name + "Port";
}
+ String annWsdlLocation;
if (anWebService != null && anWebService.endpointInterface().length() >
0)
{
seiName = anWebService.endpointInterface();
@@ -248,8 +249,12 @@
if (seiAnnotation.portName().length() > 0 ||
seiAnnotation.serviceName().length() > 0 || seiAnnotation.endpointInterface().length()
> 0)
throw MESSAGES.webserviceAnnotationSEIAttributes(seiName);
+ annWsdlLocation = !"".equals(anWebService.wsdlLocation()) ?
anWebService.wsdlLocation() : seiAnnotation.wsdlLocation();
}
- final String annWsdlLocation = (anWebService != null) ? anWebService.wsdlLocation()
: anWebServiceProvider.wsdlLocation();
+ else
+ {
+ annWsdlLocation = (anWebService != null) ? anWebService.wsdlLocation() :
anWebServiceProvider.wsdlLocation();
+ }
DDEndpoint result = new DDEndpoint();
@@ -286,7 +291,7 @@
String wsdlAddress = parser.filterSoapAddress(ddep.getServiceName(),
ddep.getPortName(), SOAPAddressWSDLParser.SOAP_HTTP_NS);
String rewrittenWsdlAddress =
SoapAddressRewriteHelper.getRewrittenPublishedEndpointUrl(wsdlAddress, ddep.getAddress(),
sc);
- //If "auto rewrite", leave "publishedEndpointUrl" unset
so that CXF do not force host/port values for
+ //If "auto rewrite", leave "publishedEndpointUrl" unset
so that CXF does not force host/port values for
//wsdl imports and auto-rewrite them too; otherwise set the new address into
"publishedEndpointUrl",
//which causes CXF to override any address in the published wsdl.
if (!SoapAddressRewriteHelper.isAutoRewriteOn(sc)) {