Hi Jim, Just to follow up on this - I had a go at providing a skeleton Java package with the package-info.java(.class) in place: CXF correctly picked up the class and placed all JAX-B related artifacts from that package into the namespace specified in package-info:
--- package-info.java (in directory my/package) @javax.xml.bind.annotation.XmlSchema(namespace ="http://i.wandered.lonely.as.a.cloud"); package my.package; --- So, this clever little hack works just fine. Cheers, Ade. Adrian Trenaman wrote: > > Hi Jim, > > Thanks for the idea - if only I could modify the class!! It's been made > available to me only as a JAR, not in source format, so I don't have the > possiblity of adding the familiar JAX-B annotations that would do this. > > One suggestion I've had from a colleague in Dublin is to create a skeleton > directory structure that matches the package structure, and create a > package-info.java file in each directory with a > @javax.xml.bind.annotation.XmlSchema(namespace="...") annotation; if I > compile and then put this ahead of my JAR in the classpath then java2wsdl > might pick up these annotations and help out. > > What do you think? Pragmatic workaround or artful hackery? > > Cheers, > Ade. > > > Jim Ma-3 wrote: >> >> Hi Adrian, >> >> If this class can be modified , I think we can add some annotations for >> this method to avoid generating wrapper element and resolve clash : >> >> pacakge com.foo; >> public class Bar { >> @ResponseWrapper(targetNamespace = "http://apache.org/namespace", >> className = "com.foo.CreateCaseResponse", localName = >> "createCaseResponse") >> @RequestWrapper(targetNamespace = "http://apache.org/namespace", >> className = "com.foo.CreateCaseRequest2", localName = "createCaseRequst") >> public CreateCaseResponse createCase(String arg0, CreateCaseRequest >> arg1); >> } >> >> When java2wsdl can not read these annotations for this method , it will >> try to load the RequestWrapper class and ReponseWrapper class from >> package com.foo.jaxws (as per jaxws spec). >> If it is failed to load , it will generate wrapper elements for this >> method . >> >> Regards >> >> Jim >> >> >> Adrian Trenaman wrote: >>> Hi Jim, >>> >>> Thanks for the info! The collision I'm running into is due to the Java >>> API >>> (based on an EJB) already providing wrappers classes for parameter >>> lists. >>> For example: >>> >>> public CreateCaseResponse createCase(String arg0, CreateCaseRequest >>> arg1) >>> >>> ... as you can see, our java2wsdl will try and create a wrapper element >>> for >>> CreateCaseResponse (as per the JAXWS spec) which then clashes with the >>> already existing type CreateCaseResponse. Ugly, huh?! >>> >>> The original CreateCaseResponse is in a different Java package from the >>> interface, so if we could map individual packages to schema namespaces >>> then >>> I would be able to resolve the clash. However, as you say in your email, >>> CXF >>> doesn't provide support for this. >>> >>> Best, >>> Ade. >>> >>> >>> Jim Ma-3 wrote: >>> >>>> Hi Adrian, >>>> >>>> What type of collision did you run into ? Is this schema element name >>>> collision? >>>> >>>> Java2wsdl uses converted packagename or annotated namepace as it's >>>> namespace , >>>> and there is no way to customize the namespace on per-package basis >>>> like >>>> wsdl2java does. >>>> >>>> Cheers >>>> -Jim >>>> >>>> Trenaman, Adrian wrote: >>>> >>>>> Hi all, >>>>> >>>>> I'm creating some WSDL from classes in an existing Jar file; CXF's >>>>> java2wsdl is putting everything into the same schema namespace which >>>>> is >>>>> causing collisions. Is there any way to customise the namespace on a >>>>> per-package basis so that I can avoid the collisions? >>>>> >>>>> Thanks, >>>>> Ade. >>>>> >>>>> >>>>> Adrian Trenaman >>>>> >>>>> Principal Consultant, IONA Technologies. >>>>> >>>>> E: [EMAIL PROTECTED] >>>>> >>>>> P: +353-1-6372659 >>>>> >>>>> M: +353-86-6051026 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ---------------------------- >>>>> IONA Technologies PLC (registered in Ireland) >>>>> Registered Number: 171387 >>>>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, >>>>> Ireland >>>>> >>>>> >>>>> >>>> >>> >>> >> >> > > -- View this message in context: http://www.nabble.com/Is-there-any-way-to-customise-schema-namespaces-with-java2wsdl--tf4305933.html#a12309764 Sent from the cxf-user mailing list archive at Nabble.com.
