axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Sosnoski <>
Subject Re: [Axis2] Unwrapping support - how to maintain the part name reference ?
Date Thu, 29 Jun 2006 06:20:41 GMT
Hi Ajith,

I've been busy, and now traveling, but there were a couple of email 
exchanges over last weekend that gave details of what I'm trying to 
implement (see and I'll be 
getting back to the JiBX unwrapped handling this weekend, as described 
in these emails.

I understand your issue with the type mapping table (or at least think I 
do - I'm going through this quickly), but wonder if you've worked 
through the implications of handling rpc/lit this way. You're going to 
want to determine the operation in the generated message binding code 
based on the type of the value found in the document, then convert the 
actual values to the parameter passed in to that operation. I'm not sure 
you really want to be using the type mapping for this purpose, which is 
supposed to go from element names to Java types. But perhaps I'm 

  - Dennis

Ajith Ranabahu wrote:
> Hi all,
> Dennis has been a bit silent on the mailing list these days so I
> decided to move on with the mentioned plan in the last mail. It seems
> that there is no alternative to the problem of finding how to populate
> the method signatures other than a schema walker that figures out the
> part names and their type during the code generation.
> While doing that I came across a small issue. Our type mapper (which
> is basically a wrapped  hash table) is global. As soon as you try to
> populate it with types that relate to parts (with the part name as the
> key) a problem occurs. The part names are *not* supposed to be unique
> across messages and part names are not namespace qualified for
> rpc/lit!
> Here is a snippet from one of the test WSDL's
> <message name="requestMessage">
>     <part name="part1" type="types:echoRequest"/>
> </message>
> <message name="responseMessage">
>     <part name="part1" type="types:echoResponse"/>
> </message>
> How can I maintain a reference to part1 of the first message uniquely
> in the type mapper ? I don't want to change the structure of the type
> mapper (the fact that it is a simple key-value pair) partly because
> the users are allowed to pass in an external mapping file and also I
> fear things might get messy if I add more methods to it..
> What I thought was to have our own convention inside the codegen where
> we generate a QName for the part with part name as the localpart and
> the operation name as the namespaceURI. It is totally a private
> convention but the databinding extensions have to follow that
> covention and populate the type map accordingly.
> Any thoughts ?

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message