axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Jordahl" <t...@macromedia.com>
Subject Current Axis problems and questions about the future
Date Mon, 06 Jun 2005 16:23:59 GMT

Update on these items:

> 1. WSDL2Java emits the wrapper types for Doc/lit wrapped services, even though we explicitly
try to prevent this.

This turned out to be an problem only for WSDLs that contained the xsd:anyType in them.  I
submitted a fix on Friday.

> 3. When trying to deploy a service to test the above problems, all those useless typemapping
in the deploy.wsdd cause Axis to fail to generate WSDL for the service.

Fixing #1 above solved this problem.


> 2. Two dimensional Object arrays (Object[][]) in a JavaBean do not even come close to
getting serialized correctly in doc/lit mode.

This is the heart of my problem - I have no solution as of yet.

The ArraySerializer is doing the wrong thing for this definition:

<complexType name="ArrayOf_xsd_anyType">
 <sequence>
  <element name="item" 
           maxOccurs="unbounded" 
           minOccurs="0"
           type="xsd:anyType"/>
  </sequence>
</complexType>
<complexType name="ArrayOfArrayOf_xsd_anyType">
  <sequence>
    <element name="item"
             maxOccurs="unbounded"
             minOccurs="0"
             type="impl:ArrayOf_xsd_anyType"/>
  </sequence>
</complexType>
<complexType name="QueryBean">
  <sequence>
    <element name="data" 
             nillable="true"
             type="impl:ArrayOfArrayOf_xsd_anyType"/>
  </sequence>
</complexType>

Here is the XML produced, which doesn't look good:

<ns3:data xsi:type="ns4:ArrayOfArrayOf_xsd_anyType" xmlns:ns3="http://rpc.xml.coldfusion/"
xmlns:ns4="http://wscf_document.webservices.cfsuite">
  <ns3:data xsi:type="xsd:string">TRUE</ns3:data>
  <ns3:data xsi:type="xsd:dateTime">2002-01-21T05:00:00.000Z</ns3:data>
</ns3:data>


It should look something like this:
<data>
  <item xsi:type="ArrayOf_xsd_anyType">
    <item xsi:type="string">TRUE</item>
    <item xsi:type="xsd:dateTime">2002-01-21T05:00:00.000Z</item>
  </item>
</data>

I believe the changes to support the minoccurs/maxoccurs arrays have negatively affected this
case, but we may never have done this right in the document/literal case

I have a test case if anyone wants to take a stab at looking at this problem in parallel.
 Can't seem to send it to the list right now though...  Contact me directly for it.


--
Tom Jordahl
Macromedia Server Development
________________________________________
From: Tom Jordahl [mailto:tomj@macromedia.com] 
Sent: Friday, June 03, 2005 1:07 PM
To: axis-dev@ws.apache.org
Subject: Current Axis problems and questions about the future

FYI
I am currently debugging the following problems in an attempt to resolve all the issues my
local product regression tests have uncovered in 1.2.
1. WSDL2Java emits the wrapper types for Doc/lit wrapped services, even though we explicitly
try to prevent this.
Somewhere in the last few years of the 1.2 timeframe this got broken.  For large services
that are wrapped, this creates a lot of junk.  It also means that the JavaDeployWriter emits
a slew of useless type mappings. Taking some responsibility for the incredible complexity
of our SymbolTable implementation, this is code that I wrote.  Unfortunately I can’t take
much responsibility for the hacking that the code has undergone since 1.0/1.1. ☹
2. Two dimensional Object arrays (Object[][]) in a JavaBean do not even come close to getting
serialized correctly in doc/lit mode.
The metadata in the Bean only describes a single dimension array, and that is how it gets
serialized.
3. When trying to deploy a service to test the above problems, all those useless typemapping
in the deploy.wsdd cause Axis to fail to generate WSDL for the service. It appears to be due
to anonymous types (those pesky “>foo” QNames) misleading the WSDL generator in to
doing the wrong thing.

I believe most, if not all of the above problems have been logged as bugs by users.  I hope
to be able to spend a few days and unravel at least some of this.  Any help is welcome.

Mime
View raw message