dynamic proxy binding does not work when interface declares less methods than 
WSDL
----------------------------------------------------------------------------------

                 Key: AXIS-2637
                 URL: https://issues.apache.org/jira/browse/AXIS-2637
             Project: Axis
          Issue Type: Bug
          Components: WSDL processing
    Affects Versions: 1.4
            Reporter: robert engels


In org.apache.axis.client.Service.java, lines 434-436

            if(bEntry.getParameters().size() !=  
proxyInterface.getMethods().length) {
                throw new 
ServiceException(Messages.getMessage("incompatibleSEI00", "" + 
proxyInterface.getName()));
            }

causes dynamic proxy binding to fail when the Java interface uses less/more 
methods than the provided WSDL.

It occurs when using code similar to

        SimpleServiceIF myProxy = (SimpleServiceIF) service.getPort(new 
QName(namespace, portName), SimpleServiceIF.class);

The reference implementation from Sun does not has this limitation, and 
commenting out the above lines allows the code to work correctly.

This is essential when writing long-lived client systems that want to be 
insulated from changes in the WSDL interface.

Ideally the binding would only be checked when the method was actually called 
which would allow unused methods to be removed from the WSDL, and the client 
code would still be ok.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to