Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1414

cxf-codegen-plugin generates incomplete method signatures for operations with multiple faults defined

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Invalid
    • 2.0.4
    • Invalid
    • Tooling
    • None
    • MacOS 10.5, Eclipse, Maven 2.0.8

    Description

      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;

      Attachments

        1. cxf1414-sample.zip
          69 kB
          Ryan Norris

        Activity

          People

            Unassigned Unassigned
            ryannorris Ryan Norris
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: