The question is a specialization of:
http://stackoverflow.com/questions/403058/oo-style-parameters-vs-type-parameters
What if you want to define a Web Service operation? To have parameters beeing passed as complex types like this
public String insertPerson(Person person);
seems pretty cool since you're able to change the definition of Person without changing the interface definition. But what if another WS Client implemented in C/C++ (e.g. with gsoap or axis2c) uses this definition. Could it be a problem to access the Web Service implemented using Axis2 in Java? May be it's more safe to use the simple parameterized approach:
public String insertPerson(long id, String name, String personalId);
I'm not quite sure about that. What do you think?
Fred