You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/02/06 19:09:10 UTC

[jira] Commented: (CXF-1414) cxf-codegen-plugin generates incomplete method signatures for operations with multiple faults defined

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