TO DO LIST FOR AXIS ------------------- Please help to maintain this file, as accuracy is critical. Major topic areas are headed by section headings, and individual items are prefixed with "!" (needs doing) "*" (in progress) or "X" (done), followed by the owner (if any) in "<>" brackets. Example: * Write TO DO list MUST DO FOR BETA1 ----------------- X Doug's issue 1: Attachments are broken X Published interfaces must be vetted. X getParameterName() should return a QName X Make sure no English-language strings are left in the code. MESSAGE PARSING / ENCODING -------------------------- X Support different encodingStyles ! <> Support literalxml encodingStyle X Multi-dimensional array support CLIENT API ---------- JAX-RPC COMPATIBILITY --------------------- X Implement serializer/deserializer framework compliance PERFORMANCE ----------- DOCUMENTATION ------------- * Architecture doc ! <> Install doc. to mention placing Axis's javax... classes in Tomcat's classpath (e.g. in setclasspath.sh) as Tomcat won't load these classes from WEB-INF SOAP SPEC COMPLIANCE -------------------- X Implement support for the actor attribute SAMPLES ------- ! <> Clean up addr sample, including writing a how-to guide WSDL2Java --------- * <> (ongoing) JAX-RPC compliance. In particular: X Generate an error for notification and solicit-response type operations. ! <> Mapping of XML names. We do some, not all, of what JAX-RPC specifies. ! <> Faults - What do we handle now? What needs to be enhanced? JAX-RPC needs improving, first, we think. ! <> Derived type support. ! <> Object[] doesn't work. If we have method(Object[] array) and we pass in an Object[], we get NullPointerExceptions. If, however, we pass in a String[] or a Phone[] then it works. Object[] becomes xsd:anyType[]. Since anyType doesn't work, I don't expect anyType[] to work. ! <> do we want xsd:anyType to work? * (ongoing) Need to pull everything writer-specific out of the framework(Emitter/SymbolTable/etc). Signatures are still in there. So are Wsdl2java options that only the writers care about. ! <> Attachment support. ! <> Name clash resolution has to grow up. ! <> Automatically creating a package name from a namespace is very limited at the moment. ! Literal soap:body support. There is a large list of issues and things to do: - Need a test case, preferably one against a .NET web service. - The message type files are still emitted and they should not be. - We do not even try to emit faults differently if they have literal use - The operation parameter generation needs to be moved out of populatePortTypes in the symbol table and moved to JavaWriter (RJB - I don't know whether I agree with this, but it's a problem where it is). - If we discover a portType has multiple bindings, we abort. Since interfaces are generated from portTypes, and the literal/encoded switch is in the binding, we must have the binding todecide what the interface will look like. - We do not emit SOAPElement arguments per JAX-RPC yet. ! If a reference to a type is encountered before the definition, a RefdType is created and added to the symbol table. Once the type is defined, this RefdType is replaced by a real type. Other objects may have referred to the RefdType. Their references also need to be replaced. This doesn't affect any of our existing tests. * Grow Filegen test. We now generate code only if it's needed, but this feature isn't well tested yet. ! <> Do we need a Wsdl2java Exception? * Need to handle collections of objects (max occurs > 1). Rich did the work for encoding. Does something still need to be done for literal? X Need to register array types and enum types in the stub and deploy.wsdd. Registering array types if the remote (non-AXIS) services sets the type attribute to the array type name instead of soapenc:array. See samples.echo.testClient Java2WSDL --------- X <> Plug new framework into autogen mechanism ! Java2WSDL "void op(boolean b1, Boolean b2)" maps to It SHOULD map to Note that this also affects the runtime (particularly serialization). ! <> Support generating schema for custom serializers ! <> Support generation of deploy.wsdd from Java2WSDL ! <> Support wildcards in stop object classes (i.e. "javax.*") GENERAL / UNCATEGORIZED ----------------------- ! <> Reorganize resources.properties into packages X Remove search-for-first-MessageContext-arg code X Remove ServiceClient ! <> Before each release, make sure there aren't any English-language strings in the code. Folks aren't very good about putting these strings into resources.properties! X Refactor AxisServiceConfig so it doesn't require object instantiation (static metadata) ! Handle static methods without needing to create object instances FUTURE ENHANCEMENTS (not necessary for current release) ------------------------------------------------------- ! <> Some kind of support for deployment / metadata in source file (xdoclet?)