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?
prop.put(Property.REMOTE_URL_AND_PORT, "http://localhost:9080/axis/services");
prop.put(Property.EXECUTOR_CLASS, JaxRpcExecutor.class.getName());
ServiceManager manager = new ServiceManager(prop);
Calculator calc = (Calculator) manager.createService(Calculator.class);
System.out.println("1 + 2 = " + calc.add(1, 2));