Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-3625

Issue converting case on methodName for WSDL-derived operation used with binding.ejb reference

    XMLWordPrintableJSON

Details

    Description

      So the scenario here is I start with a WSDL with upper-case operation name, say "Add", and then generate Java from it. Well, JAX-WS says to generate with a name starting with lower-case, such as:

      @WebService
      public interface AddServiceRemote {
      @WebMethod(operationName = "Add")
      double add(double n1, double n2);

      Say that someone implements an EJB using this Java interface, and now I'm trying to use this same Java interface to build an SCA client of this EJB using a reference with binding.ejb.

      The problem I'll run into in the current Tuscany impl (1.x.. haven't looked at 2.x) is that our runtime will use the JAXWSJavaInterfaceProcessor to calculate the operation name as "Add" (starts with capital 'A'). It will pass that name to the binding-ejb-runtime code which will blow up with NoSuchMethodException.

      I think the right thing to do here is to "work backwards" from the operation name to the real Java method name we want to invoke over. In other words, treat this as a bug and fix it.

      Since Java<-> WSDL mapping questions are always interesting, however... I'll put this out there for comment.

      Thanks,
      Scott
      -----------

      Not sure how to make a new test so I'll tweak an existing test and attach to show a recreate....

      Attachments

        1. 3625.fix.1.patch
          3 kB
          Scott Kurz
        2. 3625.recreate.patch
          0.6 kB
          Scott Kurz

        Activity

          People

            simonslaws Simon Laws
            scottkurz Scott Kurz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: