> 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

Reply via email to