You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "ant elder (JIRA)" <de...@tuscany.apache.org> on 2010/07/21 15:08:49 UTC

[jira] Commented: (TUSCANY-3625) Issue converting case on methodName for WSDL-derived operation used with binding.ejb reference

    [ https://issues.apache.org/jira/browse/TUSCANY-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890720#action_12890720 ] 

ant elder commented on TUSCANY-3625:
------------------------------------

I agree, it seems like a bug and should be fixed.
In 2.x debuging through the code with the same patch applied i can see that the Operation (JavaOperationImpl) object does have a name with uppercase but the correct Method object for the lower case method name, so i wonder if the ejb binding invoker should just use that instead of Operation.getName. Whatever the fix it seems like if the Java CAA spec is to be followed then it should be using the wsdl-java naming conventions and using a lower case first character 

> Issue converting case on methodName for WSDL-derived operation used with binding.ejb reference
> ----------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3625
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3625
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Java Implementation Extension
>    Affects Versions: Java-SCA-1.6
>         Environment: sca-java-1.x, r959098
>            Reporter: Scott Kurz
>            Priority: Minor
>         Attachments: 3625.recreate.patch
>
>
> 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....

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.