Mark Kahl created CXF-8893:
------------------------------
Summary: Hard coded slashes at the end of SOAP namespaces are not
always appreciated
Key: CXF-8893
URL: https://issues.apache.org/jira/browse/CXF-8893
Project: CXF
Issue Type: Improvement
Components: Core, JAX-WS Runtime
Affects Versions: 4.0.2
Reporter: Mark Kahl
There are some functions that explicitly append a slash to URL's (see below),
which is not always helpful. I have a client, unfortunately not under my
jurisdiction, that refuses to work with my SOAP-service, since the service
exports a WSDL-file, generated by CXF, that has a slash appended.
I understand that just skipping the slash probably will affect a plethora of
applications that rely on it, so maybe an option could be introduced modifying
line 178 in the class: "PackageUtils" to:
* return "http://" + String.join(".", parts) + *(optionNoTrailingSlash) ? ""
:* '/';
instead of the current:
* return "http://" + String.join(".", parts) + '/';
for example.
h1. Statements that immutably append slashes
The following list is the result of a regular expression search, probably not
all of them are relevant.
core/src/main/java/org/apache/cxf/common/util/PackageUtils.java:178:
return "http://" + String.join(".", parts) + '/';
core/src/main/java/org/apache/cxf/helpers/ServiceUtils.java:211: return
protocol + "://" + String.join(".", words) + "/";
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/NewCookieHeaderProvider.java:43:
private static final String TSPECIALS_ALL = TSPECIALS_PATH + "/";
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java:230:
address = address + "/";
rt/rs/description-swagger-ui/src/main/java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiResolver.java:69:
return urlStr + UI_RESOURCES_ROOT_START + version + "/";
rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpUrlUtil.java:30:
pathString = pathString + "/";
systests/microprofile/client/jaxrs/src/test/java/org/apache/cxf/systest/microprofile/rest/client/regex/JaxrsPathRegexTest.java:76:
String endpointAddress = "http://localhost:" + PORT + "/";
systests/microprofile/client/jaxrs/src/test/java/org/apache/cxf/systest/microprofile/rest/client/regex/JaxrsPathRegexTest.java:121:
String endpointAddress = "http://localhost:" + PORT + "/";
systests/uncategorized/src/test/java/org/apache/cxf/systest/transform/feature/TransformFeatureTest.java:95:
String endpoint = "http://127.0.0.1:" + socket.getLocalPort() + "/";
tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ModuleToNSMapper.java:108:
parentURI = parentURI + "/";
--
This message was sent by Atlassian Jira
(v8.20.10#820010)