You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "robert engels (JIRA)" <ax...@ws.apache.org> on 2007/03/11 06:21:09 UTC

[jira] Created: (AXIS-2637) dynamic proxy binding does not work when interface declares less methods than WSDL

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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org