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

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.


Dan



> cxf-codegen-plugin generates incomplete method signatures for operations with 
> multiple faults defined
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1414
>                 URL: https://issues.apache.org/jira/browse/CXF-1414
>             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: cxf1414-sample.zip
>
>
> 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.

Reply via email to