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 http://marc.theaimsgroup.com/?l=axis-dev&m=115119882403942&w=2 and http://marc.theaimsgroup.com/?l=axis-dev&m=115119916919031&w=2). 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 misunderstanding.

 - 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to