This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/main by this push:
new fa4bdfbabd Use LinkedHashMap for deterministic WSDL namespace prefix
assignment (#2944)
fa4bdfbabd is described below
commit fa4bdfbabdc2d786390c498b89d28a55114f908f
Author: Guillaume Nodet <[email protected]>
AuthorDate: Wed Mar 11 17:30:52 2026 +0100
Use LinkedHashMap for deterministic WSDL namespace prefix assignment (#2944)
ServiceWSDLBuilder uses a HashMap for the ns2prefix map, which causes
non-deterministic namespace prefix assignment in generated WSDL. This
leads to inconsistent output where elements may appear with or without
namespace prefixes (e.g., <service> vs <wsdl:service>) depending on
HashMap iteration order.
Switch to LinkedHashMap to ensure insertion-order iteration, making
the prefix assignment in getNewPrefix() deterministic.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
rt/wsdl/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/rt/wsdl/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
b/rt/wsdl/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
index 0f40280d30..a5a209d846 100644
--- a/rt/wsdl/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
+++ b/rt/wsdl/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -111,7 +112,7 @@ public class ServiceWSDLBuilder {
public ServiceWSDLBuilder(Bus b, List<ServiceInfo> services) {
this.services = services;
bus = b;
- ns2prefix = new HashMap<>();
+ ns2prefix = new LinkedHashMap<>();
nsMan = new NSManager();
}