axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ajith Ranabahu" <ajith.ranab...@gmail.com>
Subject Re: [Axis2] Unwrapping support - how to maintain the part name reference ?
Date Wed, 28 Jun 2006 13:53:42 GMT
Hi Anne,
Hmm... You have a point. But ultimately the message name would vanish
(since we are genrating a wrapper schema prior to unwrapping) and I
need a way to recreate the exact QName inside a databinding extension
with the information that is already there (which happend to be the
AxisService)
I was thinking that we would only need to unwrap the input but it is
true that we may have to unwrap the output if it contains a single
type. So you are absolutely right in using the message name in the
identifier.
What I was mostly worried is the introduction of such private
conventions inside the code generator.

Ajith

On 6/28/06, Anne Thomas Manes <atmanes@gmail.com> wrote:
> You would need to use the message name as the namespaceURI to ensure
> uniqueness. (Notice that your example uses "part1" for both input and output
> messages for the same operation.)
>
> Anne
>
>
>  On 6/28/06, Ajith Ranabahu <ajith.ranabahu@gmail.com> 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 ?
>
> --
> Ajith Ranabahu
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>


-- 
Ajith Ranabahu

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message