> 1) > How can I expose only the Java Bean part of a complex type, in other words > I have a Java Bean that has some extra methods also for use internally on > the server side (e.g. one of the methods is getMap() *without* a > corresponding setMap() method). > > When I expose a method that uses this bean, a "map" attribute is also > exposed in the complex type in the WSDL (using Java2WSDL). I've used Sun's > RI implementation in the past and only the true Java Bean methods would be > exposed, the rest would be ignored and I liked this behavior.
| The best approach is to separate the bean from the extra methods, and | just have your server use the extra methods by calling the class that | would extend the bean class. That way, regardless of what happens, you | know what is going out as a webservice. So there's no way to configure Axis (java2wsdl) to *only* expose true bean properties (i.e. the ones that have get/set methods)? I just noticed that I misstypes the name of a setFoo() method and I ended up with a "foo" element in the complex type and it's always passed as "null" to the client, which I find odd. Is this an Axis bug or rather a "feature"? If it's a feature maybe is should be made optional as the default (current) behavior doesn't help at all, it's a source of confusion. Does Axis look only for getXXX() and setYYY() methods? If so, I guess the extra methods could be renamed so they don't start with get and set ... Thanks. Tim