Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Unknown
Description
Originally reported for Quarkus CXF: https://github.com/quarkiverse/quarkus-cxf/issues/1326
If there are two SEIs in one Java package, both having a @WebMethod with the same name but different signature, then the default name for the ASM-generated request, response and possibly other classes is the same for both methods of both classes.
No exception is thrown when this happens during the class generation.
At runtime, only one set of those classes is present and calls to one of the clients will inevitably fail.
Here is a reproducer for Quarkus CXF https://github.com/akil-rails/spike-quarkus-cxf which will IMO mutatis mutandis work also for plain CXF: https://github.com/akil-rails/spike-quarkus-cxf/tree/main
I guess this piece of code around here https://github.com/apache/cxf/blob/80c92d57ab7c34f59d51c3b30d0db9ab074e8c6b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/WrapperClassLoader.java#L92-L97 should take the SEI class name into account.