[ 
https://issues.apache.org/jira/browse/CXF-6134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16346508#comment-16346508
 ] 

Reguel Wermelinger commented on CXF-6134:
-----------------------------------------

I'm also facing this issue with CXF 3.2.1. The problem is in the fault.vm 
template within 
`cxf-tools-wsdlto-frontend-jaxws-3.2.1.jar/org.apache.cxf.tools.wsdlto.frontend.jaxws.template/fault.vm`

The constructor parameters must be set to qualified `java.lang.Throwable`type 
to avoid conflicts with local `Throwable` type in the same package. A patched 
version of the template is attache to the issue:

[^fault.vm]

A sample WSDL that causes this error is here:

[^portalWebStartable.wsdl]

^Workaround: enable autoNameResolution and reserve the Throwable name of your 
WSDL. Eg.^
{code:java}
<extraargs>
 <extraarg>-autoNameResolution</extraarg>
 <extraarg>-reserveClass</extraarg> 
  <extraarg>ch.ivy.ws.addon.Throwable</extraarg>
</extraargs>{code}

> Apache CXF generating constructor with duplicate argument names causing 
> compilation error
> -----------------------------------------------------------------------------------------
>
>                 Key: CXF-6134
>                 URL: https://issues.apache.org/jira/browse/CXF-6134
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.7.11, 3.0.2
>            Reporter: Marcel Overdijk
>            Priority: Major
>         Attachments: fault.vm, portalWebStartable.wsdl
>
>
> I'm using the cxf-codegen-plugin plugin to generate a web service client.
> For many wsdl's this goes fine but I have one causing problems.
> It is a wsdl containing fault messages defined like: 
> {code}
> <message name="CustomerNotFoundException">
>     <part name="message" type="xs:string" />
> </message>
> {code}
> The generated Java file looks like:
> {code}
> @WebFault(name = "message", targetNamespace = 
> "http://www.w3.org/2001/XMLSchema";)
> public class CustomerNotFoundException extends Exception {
>     private java.lang.String message;
>     public CustomerNotFoundException() {
>         super();
>     }
>     public CustomerNotFoundException(String message) {
>         super(message);
>     }
>     public CustomerNotFoundException(String message, Throwable cause) {
>         super(message, cause);
>     }
>     public CustomerNotFoundException(String message, java.lang.String 
> message) {
>         super(message);
>         this.message = message;
>     }
>     public CustomerNotFoundException(String message, java.lang.String 
> message, Throwable cause) {
>         super(message, cause);
>         this.message = message;
>     }
>     ..
> }
> {code}
> Which fails compilation because of the duplicate message argument of the 
> CustomerNotFoundException constructor.
> In my pom I've added:
> {code}
> <extraargs>
>     <extraarg>-allowElementReferences</extraarg>
>     <extraarg>-autoNameResolution</extraarg>
>     <extraarg>-verbose</extraarg>
> </extraargs>
> {code}
> But this does not help.
> I even tried custom bindings but it does not seem possible to change argument 
> name of a constructor of a generated exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to