Hi,
I just use JMS as an example for bindings that are not naturally
RPC-style.
Using AXIOM as the databinding will only give you an array of OMElements
representing the parameters unless the binding interface contract is a
wrapper style WSDL portType (then you'll receive the wrapper OMElement).
We
can enhance the XMLStringDataBinding to handle wrappers but we still need
to
express that the binding interface contract is wrapper style in the first
place.
Thanks,
Raymond
----- Original Message -----
*From:* ant elder <[EMAIL PROTECTED]>
*To:* Raymond Feng <[EMAIL PROTECTED]>
*Cc:* [email protected]
*Sent:* Friday, December 14, 2007 9:12 AM
*Subject:* Re: How to set a specific data binding to be used by a
binding?
I'm completely missing the point sorry and I'm not sure I understand why
JMS comes into this? I've a binding and I want the wrapped XML. I want it
as
a String but I could use DOM or OMElement or what ever else. Right now I
(think?) it would work if I just use the Axiom data binding which gives
the
wrapped style of XML and then I'd receive OMElements as the payload which
I
could call toString on to get a String, but I'd prefer not to have the
dependency on Axiom.
I still don't understand why there couldn't be a version of
XMLStringDataBinding that returns wrapped style XML?
...ant
On Dec 14, 2007 4:55 PM, Raymond Feng < [EMAIL PROTECTED]> wrote:
> There are two independent factors in the operation-level data
> transformation
> (i.e., converting the payload from one structure to another). In the
> JMSBinding case, if a java interface is used, it's from Object[] to
> JMSMessage (or the text for JMS TextMessage).
>
> 1) The data conversion (from example, a Customer SDO to String)
> 2) The wrapping/unwrapping process. Wrapper style is just a special
> pattern
> for PRC-style payload to messge-style. Other mapping can be used too,
> for
> example, you can create a JMS MapMessage and set the arguments into the
> Map.
>
> Since there are two separate concerns, we don't want to have
> XMLStringDataBinding to support this combination only.
>
> Looking at operation-level, we have two high-level transformers
> (idl:input
> <--> idl:input and idl:output <--> idl:output) to deal with payload
> transformation. The transformers handle wrapping/unwrapping and then
> delegate to parameter-level transformers. If the JMS binding wants to
> control how to package the input/output payload, you can register
> special
> transformers (idl:iput --> jms:input, jms:input --> idl:input,
> idl:output --> jms:output and jms:output --> idl:ouput). Then in your
> transformers, you can wrap/unwrap the XML elements.
>
> Thanks,
> Raymond
>
> ----- Original Message -----
> From: "ant elder" <[EMAIL PROTECTED]>
> To: < [email protected]>
> Sent: Friday, December 14, 2007 3:01 AM
> Subject: Re: How to set a specific data binding to be used by a
> binding?
>
>
> > On Dec 13, 2007 10:36 PM, ant elder < [EMAIL PROTECTED]> wrote:
> >
> >>
> >>
> >> On Dec 13, 2007 7:22 PM, Raymond Feng <[EMAIL PROTECTED]> wrote:
> >>
> >> <snip>
> >>
> >> Anthoer way you could do is to set the databinding to DOM or AXIOM.
> The
> >> > databinding interceptor will pass you an array of elements
> >> > corresponding
> >> > to
> >> > the java arguments. You can then create the wrapper from the
> >> > child
> >> > args
> >> >
> >> > when it reaches the JMS binding code.
> >> >
> >>
> >> If its possible to fix this like that (by manually adding a wrapper
> >> element) then would another way be to have a new data binding that
> does
> >> this
> >> and use that in the binding. Something like a
> >> WrappedXMLStringDataBinding.NAME which is just like the
> >> XMLStringDataBinding.NAME but is implemented to use DOM and manually
> >> create a wrapper around the child args? (asking to confirm I'm
> >> understanding
> >> what you're suggesting) If thats possible it seems like it would be
> >> a
> >> cleaner approach for binding or implementation type writers.
> >>
> >> If we can do that i'd also use it for implementation.script which
> needs
> >> similar functionality.
> >>
> >> ...ant
> >>
> >>
> > No replies yet so I had a quick look at doing this...
> >
> > Ideally the WrappedXMLStringDataBinding would be just the same as the
> > existing XMLStringDataBinding but that doesn't look like it would
> > work
> -
> > is
> > it possible to have multiple databindings coexisting using the same
> > physical
> > type?
> >
> > So a question from earlier again: Why is XMLStringDataBinding
> producing
> > unwrapped XML? All the uses for this that I have would use wrapped
> style
> > xml
> > so having XMLStringDataBinding produce that would be more convenient.
> >
> > ...ant
> >
>
>