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 > > > >
