[ 
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)

Reply via email to