Leaving Home

It is interesting to note that support for multiple parameters is largely a syntactic cconvenience. Consider the following variation on the com.develop.Icalculator interface:

module com {
  module develop {
    interface ICalculator3 {
      struct addRequest {
        double m, n;
      } ;
      struct addResponse {
        boolean overflow; double result;    
      } ;
      addResponse add(in addRequest request);

      struct multiplyRequest {
        double m, n;
      } ;
      struct multiplyResponse { 
        boolean overflow; double result;    
      } ;
      multiplyResponse multiply(in muliplyRequest request);
    }
  }
}

This interface passes exactly the same information to/from the add and multiply operations as the com.develop.Icalculator interface. The difference between the two interfaces is syntactic, not functional. Which ...

Get Essential XML: Beyond Markup now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.