Und Steve Loughran aber hob an zu schreiben: >>> > public class test >>> > { >>> > public test() {} >>> > public void Func(java.lang.Math m) {} >>> > }
Actually, java.lang.Math was just an example for a whole set of classes from java.lang.*, java.io.* etc. which will fail to get a wsdl created - my current "main blocker" is java.lang.Exception. >>> What do you expect when a perl program calls this? Or a C >>> application? Or >>> anything other than Java? Or even a different version of Java >>> from yours? At least I expect Axis / java2wsdl to create a valid wsdl. > has no fields, has a private constructor ( I think), and is not marked > Serializable. Exception has no fields, but a public constructor, and is serializable. Nevertheless, wsdl creation fails. > Next thought: should any object marked as Serializable be automatically sent > over the wire. That one is tough... what if I export the endpoint Demo.jws:- > > public class Demo { > public javax.swing.CellRendererPane getPane(javax.swing.JFrame frame) { > return null; > } > } > Its kind of tenuous this would work across languages. What you get in Axis > today is the 'never heard of this' error too: > > WSDLException: faultCode=OTHER_ERROR: Can't find prefix for > 'http://swing.javax'. Namespace prefixes must be set on the Definition > object using the addNamespace(...) method.: > faultActor: null Yes, this is the kind of errors I get. > Only stuff Axis knows of goes over the wire. Which is exactly what is > documented in the DataMapping bit of the user guide:- > > http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/java/docs/user-guide.h > tml#DataMapping Thanks for the pointer, especially the bit about exceptions. I'll dig deeper into it. (When I first read that some time ago, I hadn't the problems I have now, so that section seems to have been avoiding me since ;-) ). > There is some merit in doing a serializer for any object marked as > Serializable, but you'd throw away a lot of interop options in the process. True, but: java2wsdl throws a warning in the above cases, that (especially for java.* and javax.*) a xml schema anyType will be created instead. When I try to create a wrapped wsdl (via -y wrapped), the wsdl contains (for your example) <element name="in0" type="tns2:JFrame"/> and <element name="getPaneReturn" type="tns2:CellRendererPane"/> with tns2 undefined instead of xsd:anyType. Is this a bug? Karsten -- Freiheit stirbt | Fsayannes SF&F-Bibliothek: Mit Sicherheit | http://fsayanne.tprac.de/