CRISPY works by using properties to configure a service manager, which is then used to invoke the remote API. An example from the CRISPY home page:
Properties prop = new Properties();How does this compare with projects such as Apache's WSIF? While such APIs certainly make remote invocation easier, part of their justification is that service protocols might change; do you ever change the transport mechanism once a service has been implemented?
ServiceManager manager = new ServiceManager(prop);
Calculator calc = (Calculator) manager.createService(Calculator.class);
System.out.println("1 + 2 = " + calc.add(1, 2));