Wow. I apparently missed that change.
How could that possibly make any sense? If you have a type which you are never going to be able to receive, what good does it do to put an "anyType" placeholder there? --Glen > -----Original Message----- > From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 26, 2002 6:18 PM > To: [EMAIL PROTECTED] > Subject: RE: anyType support fixed > > > > Yeah, you are missing something.. > > If WSDL2Java (or ?WSDL) cannot convert a java class into a > wsdl type, then > a message is issued and an anyType is used instead in the > wsdl document > (need to use something). This support has been there for a > long time and > was accidentally changed by my 12347 change today. > The WSDL2Java processing now works the same as it did before. > > Any change to this behavior should be addressed post 1.0. > > Rich Scheuerle > IBM WebSphere & Axis Web Services Development > 512-838-5115 (IBM TL 678-5115) > > > > > Glen Daniels > > <gdaniels@macrome To: > "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> > dia.com> cc: > > Subject: RE: > anyType support fixed > 09/26/2002 05:09 > > PM > > Please respond to > > axis-dev > > > > > > > > > > WHOA! > > Why do we WANT anyType appearing anywhere for this? IMO, we don't. > > If you have myop(Object obj), THAT should generate anyType, > because we have > a mapping for Object<->anyType in the registry. Then at > runtime, we're > free to do something like: > > if (obj instanceof SomeClassIHaveAMappingFor)... > > Just saying that any class we don't have a mapping for > generates anyTypes > if it appears in signatures will cause all kinds of > headaches. They should > fail if there is no explicit mapping for the class in > question, since as > you say there's no way we could expect to serialize/deserialize them!! > > If I'm understanding what you're proposing here, I'm -1 to it. (am I > missing something?) > > --Glen > > > -----Original Message----- > > From: Tom Jordahl [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, September 26, 2002 5:59 PM > > To: '[EMAIL PROTECTED]' > > Subject: RE: anyType support fixed > > > > > > > > Thanks Rich! > > Verified that anyType comes out in the right places for > this service: > > > > public class MyService { > > public String myop(MyStruct in, java.util.Locale locin) { > > return "out"; > > } > > } > > public class MyStruct { > > public java.util.Locale loc; > > public String name; > > } > > > > > > I don't know how to make a test for this, which isn't so > > important since this service will never work. > > > > Anyone have any thoughts on how we might get a service like > this work? > > -- > > Tom Jordahl > > Macromedia Server Development > > > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, September 26, 2002 5:52 PM > > To: [EMAIL PROTECTED] > > Subject: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/fromJava > > Emitter.java Types.java > > > > > > scheu 2002/09/26 14:52:13 > > > > Modified: java/src/org/apache/axis/wsdl/fromJava Emitter.java > > Types.java > > Log: > > More changes per review of code by Tom and I. this is all related > > to the 12347 bug fix. > > > > Revision Changes Path > > 1.65 +1 -1 > > xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java > > > > Index: Emitter.java > > > =================================================================== > > RCS file: > > /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emit > > ter.java,v > > retrieving revision 1.64 > > retrieving revision 1.65 > > diff -u -r1.64 -r1.65 > > --- Emitter.java 26 Sep 2002 21:13:25 -0000 > 1.64 > > +++ Emitter.java 26 Sep 2002 21:52:12 -0000 > 1.65 > > @@ -1088,7 +1088,7 @@ > > QName typeQName = > > types.writeTypeForPart(javaType, > > param.getTypeQName()); > > - types.writeElementForPart(javaType, > > + QName elemQName = types.writeElementForPart(javaType, > > param.getTypeQName()); > > if (typeQName != null) { > > part.setName(param.getName()); > > > > > > > > 1.63 +13 -7 > > xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java > > > > Index: Types.java > > > =================================================================== > > RCS file: > > > /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v > > retrieving revision 1.62 > > retrieving revision 1.63 > > diff -u -r1.62 -r1.63 > > --- Types.java 26 Sep 2002 21:13:25 -0000 > 1.62 > > +++ Types.java 26 Sep 2002 21:52:13 -0000 > 1.63 > > @@ -231,7 +231,9 @@ > > * @param type <code>Class</code> to generate the XML > > Schema info for > > * @param qname <code>QName</code> of the type. If > > null, qname is > > * defaulted from the class. > > - * @return the QName of the generated Schema type, > null if void > > + * @return the QName of the generated Schema type, > > null if void, > > + * if the Class type cannot be converted to a > > schema type > > + * then xsd:anytype is returned. > > */ > > public QName writeTypeForPart(Class type, QName qname) > > throws AxisFault { > > //patch by costin to fix an NPE; commented out > > till we find out what the problem is > > @@ -265,8 +267,10 @@ > > writeWsdlTypesElement(); > > } > > > > - // write the type > > - writeType(type, qname); > > + // Write the type, if problems occur use ANYTYPE > > + if (writeType(type, qname) == null) { > > + qname = Constants.XSD_ANYTYPE; > > + } > > return qname; > > } > > > > @@ -318,8 +322,10 @@ > > writeWsdlTypesElement(); > > } > > > > - // Write Element > > - writeTypeAsElement(type, qname); > > + // Write Element, if problems occur return null. > > + if (writeTypeAsElement(type, qname) == null) { > > + qname = null; > > + } > > return qname; > > } > > > > @@ -380,7 +386,7 @@ > > /** > > * Create a schema element for the given type > > * @param type the class type > > - * @return the QName of the generated Element or null > > if no element written > > + * @return the QName of the generated Element or > problems occur > > */ > > private QName writeTypeAsElement(Class type, QName > > qName) throws AxisFault { > > if (qName == null || > > @@ -598,7 +604,7 @@ > > * > > * @param type Class for which to generate schema > > * @param qName of the type to write > > - * @return a prefixed string for the schema type > > + * @return a prefixed string for the schema type or > > null if problems occur > > */ > > public String writeType(Class type, QName qName) > > throws AxisFault { > > // Get a corresponding QName if one is not provided > > > > > > > > > > > >