Ok, so from "unless the binding interface contract is a wrapper style WSDL portType" does that mean it really must have a WSDL portType and thats baked deep into the design or is it more "unless the binding interface contract is a wrapper style" and it would be possible to just set that up with a Java interface? Something like setting a WrapperInfo with o.a.t.s.interfacedef.Operation.setWrapper? Which I guess is assuming its straightforward to create a WrapperInfo object?
...ant On Dec 14, 2007 5:39 PM, Raymond Feng <[EMAIL PROTECTED]> wrote: > 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 > > > > > > > >
