Bug 6150 - Duplicate Methods in WSDL
: Duplicate Methods in WSDL
Status: RESOLVED FIXED
: gRAVI
gRAVI
: 1.2
: Macintosh All
: P3 normal
: ---
Assigned To:
:
:
:
: 6281
  Show dependency treegraph
 
Reported: 2008-06-11 15:33 by
Modified: 2008-08-08 12:06 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-06-11 15:33:02
"
Most likely this is an issue with the "method" matching algorithm that I'm
using with gRAVI.  

The algorithm in introduce matches the first 3 tokens, so typically "public
void methodName".  Obviously this breaks down if one tries to match a "static"
method or use method overloading.  

Using method overloading for remote operations will produce illegal WSDL, so
this method:

gov.nih.nci.cagrid.introduce.codegen.services.methods.SyncHelper.startOfSignature


Has this logic built into it.



-josh




On Jun 6, 2008, at 9:47 AM, Ravi Madduri wrote:

> Josh
> Let me introduce you to Cem who is working on wrapping blast using gRAVI. He found a issue with adding new args to methods. He is using introduce 1.2 and latest gravi distribution.
>
> 1. He tried to add arguments to one of the methods that gravi generated and hit the Save button. This ended up creating duplicate methods in WSDL and compile failed. I think WSDL generation is sensitive to adding new arguments to the generated methods."
------- Comment #1 From 2008-07-30 18:40:44 -------
The problem was occurring because gravi's "CodegenExtensionPreProcessor" was
adding remote methods and resource properties to the service definition each
time it was called.  I added a little test that glances at the service's RP's,
if it finds the "State" RP it bails, definitely not the ideal solution.

The reported problem is fixed, however, now the client code editor(s) need to
be able to react to this information...


preCompile:
    [javac] Compiling 25 source files to
/Users/boverhof/HelloWorld/build/classes    [javac]
/Users/boverhof/HelloWorld/src/org/cagrid/helloworld/client/HelloWorldClient.java:360:
ls(org.cagrid.helloworld.context.stubs.types.HelloWorldResultResourceReference,java.lang.String[],java.lang.String[],byte[][],boolean)
in org.cagrid.helloworld.client.HelloWorldClient canno
t be applied to
(org.cagrid.helloworld.context.stubs.types.HelloWorldResultResourceReference,java.lang.String[],java.lang.String[],byte[][])
    [javac]                 resource = client.ls(resReference, arguments,
names, data);
    [javac]                                  ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error


 ----------------------------------------------------------------------
------- Comment #2 From 2008-08-08 12:06:00 -------
*** Bug 6292 has been marked as a duplicate of this bug. ***