Todd, I did a quick check on your WSDL using Eclipse WSDL validator and it showed couple of errors.. Please do check it once more...
Yes... We are hoping to release more often... ~Thilina On 11/30/06, Brennan Spies <[EMAIL PROTECTED]> wrote:
Todd, What databinding option are you using? If you are using complex schemas, you might want to consider using XMLBeans, since it can handle these pretty well. ________________________________ From: Doolittle, Todd [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 28, 2006 9:23 AM To: [email protected] Subject: [AXIS 2] Big Bugs and new releases I just found a very major bug in Axis 2 that I'm going to file a JIRA for. My company is not willing to use nightlies or non-released versions of software. Yet this bug is big enough that we will probably not be able to use Axis 2. Is it going to be another 6 months before the next release or is there some plan to do "point" releases more often? In case anyone is interested here is the bug… Here is a snippet of a schema that returns an object that contains a first name and last name. The problem is that WSDL2JAVA fails when there is more than 1 anonymous simple type. If the schema defined in the WSDL includes 1 anonymous simple type, everything works fine (like this)… <xsd:element name="firstName"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="lastName" type="xsd:string" /> As soon as you add more than one anonymous simple type (like below) WSDL2JAVA throws an exception. <xsd:element name="firstName"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="lastName"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> The exception is listed at the bottom of this email. We can work around this problem by pulling out all the anonymous simple types and creating named types. However we are not the ones generating the service code and WSDL. It is being generated by another language and it uses these anonymous simple (and complex) types extensively. So we would have to do this for some very complex WSDL across a lot of services and hundreds of operations. And each time a service or operation was changed we have to do it by hand all over again which would be very tedious and error prone. Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException : java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGener ationEngine.java:224) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetExcepti on at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(Simp leDBExtension.java:52) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGener ationEngine.java:177) ... 2 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(Simp leDBExtension.java:49) ... 3 more Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPoi nterException at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:25 7) at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java :72) ... 8 more Caused by: java.lang.NullPointerException at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler. java:592) at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler. java:489) at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:14 88) at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler .java:1450) at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompi ler.java:950) at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType( SchemaCompiler.java:909) at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.j ava:864) at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler. java:527) at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler. java:499) at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:33 6) at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:24 8) ... 9 more Full WSDL <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="AddressBook" targetNamespace="http://sears.org/" xmlns:sears="http://sears.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema elementFormDefault="qualified" targetNamespace="http://sears.org/" xmlns:s1="http://sears.org/"> <xsd:complexType name="Person"> <xsd:sequence> <xsd:element name="firstName" type="xsd:string" /> <xsd:element name="lastName" type="xsd:string" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AddressBookEntry"> <xsd:sequence> <xsd:element name="firstName"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="lastName"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="20" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="streetAddress" type="xsd:string" /> <xsd:element name="city" type="xsd:string" /> <xsd:element name="state" type="xsd:string" /> <xsd:element name="zipCode" type="xsd:int" /> <xsd:element name="phoneNumber" type="xsd:string" /> </xsd:sequence> </xsd:complexType> <xsd:element name="addressLookupRequest" type="Person" /> <xsd:element name="addressLookupResponse" type="AddressBookEntry" /> </xsd:schema> </wsdl:types> <wsdl:message name="AddressLookupIn"> <wsdl:part element="sears:addressLookupRequest" name="parameters" /> </wsdl:message> <wsdl:message name="AddressLookupOut"> <wsdl:part element="sears:addressLookupResponse" name="parameters" /> </wsdl:message> <wsdl:portType name="AddressBookPortType"> <wsdl:operation name="AddressLookup"> <wsdl:input message="sears:AddressLookupIn" name="addressLookupRequest" /> <wsdl:output message="sears:AddressLookupOut" name="addressLookupResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="AddressBookBinding" type="sears:AddressBookPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="AddressLookup"> <soap:operation soapAction="AddressLookup" style="document" /> <wsdl:input name="addressLookupRequest"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="addressLookupResponse"> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="AddressBook"> <wsdl:port binding="sears:AddressBookBinding" name="AddressBookPortType"> <soap:address location="http://localhost:8080/axis2/services/AddressBook" /> </wsdl:port... [Message clipped]
-- http://webservices.apache.org/~thilina/ http://thilinag.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
