[
https://issues.apache.org/jira/browse/CXF-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Peter Palaga updated CXF-9003:
------------------------------
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.
was:
Originally reported for Quarkus CXF:
https://github.com/quarkiverse/quarkus-cxf/issues/1326
If there are two SEIs in one Java packages, 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.
> Name clash when two SEIs have a same name method in the same Java package
> -------------------------------------------------------------------------
>
> Key: CXF-9003
> URL: https://issues.apache.org/jira/browse/CXF-9003
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Reporter: Peter Palaga
> Priority: Major
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)