Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
Java-SCA-1.6
-
None
-
sca-java-1.x, r959098
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....