Does anyone know what determines whether wsdl2java translates a complexType's element to an @XmlElementRef annotated JAXBElement<String> or an @XmlElement annotated String?
I was using Eclipse's WSDL editor to make a simple service project to illustrate another problem I've been having (duplicating @Policies in generated WSDLs). When I put this simple wsdl through SoapUI (which uses cxf's wsdl2java) in order to generate stubs etc.. it generated @XmlElement annotations for Strings whereas doing exactly the same with my client's WSDL results in @XmlElementRef JAXBElement<String> thus requiring an @XmlRegistry... Any help would be most appreciated. Many Thanks, Anthony On 21 July 2011 10:01, Anthony Webster <[email protected]> wrote: > Sorry I don't quite follow. You're saying that in my service impl I > shouldn't use an ObjectFactory to build/modify recieved/sent > PersonEndPoint objects? > > I'm going to look around for more info about wrapper style vs > non-wrapper style (I'm quite new to all this). I was trying to find a > contract-first example using conposite custom objects rather than just > primitives (like the doubleit example) but no luck so far. Would you > happen to know of one? > > Many Thanks, > > Anthony > > On Wednesday, 20 July 2011, Glen Mazza <[email protected]> wrote: > > I'm not certain, you should be able to instantiate PersonEndPoint objects > directly. The matter *might* be related to this: > https://cwiki.apache.org/CXF20DOC/wsdl-to-java.html#WSDLtoJava-wrapperstyle(you > may need to switch to wrapper style). > > > > HTH, > > Glen > > > > On 07/20/2011 12:51 PM, Anthony Webster wrote: > > > > Hi, > > > > I have generated a webservice using wsdl2java and it all works fine. The > > problem is that I'm exchanging PersonEndPoint objects and wsdl2java has > set > > all the properties to JAXBElement<...> (usually Strings). This makes > > manipulating the objects received on the server side rather painful. So > > instead of > > > > Person person = new Person(); > > person.setName("Bob"); > > > > I have to go through > > > > ObjectFactory of = new ObjectFactory(); > > PersonEndPoint person = of.createPersonEndPoint(); > > person.setFirstName(of.createPersonEndPointFirstName("Bob")); > > > > Seems strange. Am I doing something wrong? > > > > Many Thanks, > > > > Anthony > > > > > > > > -- > > Glen Mazza > > Application Integration Division > > Talend (http://www.talend.com/ai) > > blog: http://www.jroller.com/gmazza > > > > > > >
