cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <>
Subject [jira] Commented: (CXF-1414) cxf-codegen-plugin generates incomplete method signatures for operations with multiple faults defined
Date Wed, 06 Feb 2008 18:09:10 GMT


Daniel Kulp commented on CXF-1414:

The included wsdl is not a valid wsdl.   According to the wsdl spec:

"Each fault element must be named to allow a binding to specify the concrete format of the
fault message. The name of the fault element is unique within the set of faults defined for
the operation."

Your wsdl names the two faults in the operation with the same name.   Since we use the names
for lookups in a map, only one fault could be found.   If you name the two faults with unique
names as the spec requires, it does generate the correct mapping.

Note: the teamsSOAPBinding binding doesn't have a definition for that operation either.  
That's possibly also invalid. 

That all said, this did find a couple other bugs that I'll log related to the wsdl validator.
  The validator NPE's without the proper operation defined in the teamsSOAPBinding, but even
with that added, it doesn't find the problem with the fault names.   I'll log bugs for those.
  However, I'm going to close this bug as invalid.


> cxf-codegen-plugin generates incomplete method signatures for operations with multiple
faults defined
> -----------------------------------------------------------------------------------------------------
>                 Key: CXF-1414
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.0.4
>         Environment: MacOS 10.5, Eclipse, Maven 2.0.8
>            Reporter: Ryan Norris
>            Priority: Critical
>         Attachments:
> When a WSDL defines multiple faults for a given operation, tooling fails to generate
a method signature with all defined faults as exceptions.  Only the last defined exception
is defined as part of the method signature for the operation.  Example:
>     <wsdl:operation name="addPlayerToTeam">
>       <wsdl:input message="baseball:addPlayerToTeamRequest"></wsdl:input>
>       <wsdl:fault name="fault"
>         message="baseball:teamNotFoundException">
>       </wsdl:fault>
>       <wsdl:output message="baseball:addPlayerToTeamResponse"></wsdl:output>
>       <wsdl:fault name="fault"
>         message="baseball:playerNotFoundException">
>       </wsdl:fault>
>     </wsdl:operation>
> Generates an incorrect method signature of:
>     @ResponseWrapper(localName = "addPlayerToTeamResponse", targetNamespace = "http://baseball/",
className = "baseball.AddPlayerToTeamResponse")
>     @RequestWrapper(localName = "addPlayerToTeam", targetNamespace = "http://baseball/",
className = "baseball.AddPlayerToTeam")
>     @WebResult(name = "contractId", targetNamespace = "")
>     @WebMethod
>     public int addPlayerToTeam(
>         @WebParam(name = "playerId", targetNamespace = "")
>         int playerId,
>         @WebParam(name = "teamId", targetNamespace = "")
>         int teamId
>     ) throws PlayerNotFoundException;

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message