I note that RuntimeSCAReferenceBindingProvider method for retrieving
the binding contract has changed from

    public InterfaceContract getBindingInterfaceContract() {
        if (isTargetRemote()) {
            return getDistributedProvider().getBindingInterfaceContract();
        } else {
            if (reference.getReference() != null) {
                return reference.getReference().getInterfaceContract();
            } else {
                return reference.getInterfaceContract();
            }
        }
    }


to

    public InterfaceContract getBindingInterfaceContract() {
        if (isTargetRemote()) {
            return getDistributedProvider().getBindingInterfaceContract();
        } else {
            // Check if there is a target
            RuntimeEndpoint endpoint =
(RuntimeEndpoint)endpointReference.getTargetEndpoint();
            if (endpoint != null) {
                // Use the target binding interface contract
                return endpoint.getBindingInterfaceContract();
            } else {
                return endpointReference.getReferenceInterfaceContract();
            }
        }
    }

Which in the 4001 case returns the WSDL contract of the target
service. So I imagine the resulting effect will be to try and convert
the Jva types to WSDL types and then back again as messages pass end
to end through the sca binding. Now this doesn't actually work for
this test for some reason but I'd like to understand the intention.

Simon

Reply via email to