Hi Gabo - should not be, we don't have a processor yet but I'm presuming that a schemas cache will be created after a <grammars/> section has been processed, with schemas keyed by namespaces, so eventually other prefixes like 'prefix1' will be bound to corresponding schemas.
cheers, Sergey Gabo Manuel wrote: > > Hi Sergey, > > Just want to confirm. It would not be a problem even if they use > different prefix as long as it evaluates the same, ryt? > > Gabo > > Sergey Beryozkin wrote: >> Hi Gabo >> >> Agreed about 1. >> About 2 : the schema is generated by JAXB so WADLGenerator is not >> controlling the prefixes on the schema itself. 'tns' is typically used by >> convention. I can't use 'tns' on the top-level wadl:application though >> because it won't work in cases when multiple schemas have been generated, >> and it will be a bit confusing in cases when WADL instances are not using >> default namespaces, because 'tns' would actually link to some other >> non-WADL >> namespace. >> WADL processors should have no problems in processing 'prefix1'/prefix2', >> etc, 'tns' won't be even visible to them.... >> >> cheers, Sergey >> >> >> Gabo Manuel wrote: >> >>> Hi Sergey, >>> >>> A few things: >>> >>> 1. I have both XmlRootElement and XmlType annotations in my object. I >>> added namespace to both of them. By 2.2.4, I'll remove them both. >>> Currently still using the 2.2.3 release. >>> >>> 2. The wadl generated has xmlns:tns and xmlns:prefix1 defined as >>> "http://domains.some", with tns being used in the grammars, while >>> prefix1 is being used in the resources. Although, it would still >>> evaluate the same, I think it would be better to remove the duplicate >>> and just use the same namespace definition for both grammar and >>> resource, right? >>> >>> Thanks >>> >>> Gabo >>> >>> Sergey Beryozkin wrote: >>> >>>> Hi Gabo >>>> >>>> I've just got it fixed. WADLgenerator will now introspect >>>> package-info.java >>>> in cases when @XmlRootElement has only a local name set and if the >>>> namespace >>>> is available then the resulting WADL will correctly link to a generated >>>> schema element.... >>>> >>>> thanks for raising this issue >>>> Sergey >>>> >>>> >>>> Sergey Beryozkin wrote: >>>> >>>> >>>>> Hi Gabo >>>>> >>>>> MyObject has @XmlRootElement with only a local name specified. Does >>>>> package-info.java has a namespace specified too, in addition to the >>>>> local >>>>> name ? >>>>> >>>>> cheers, Sergey >>>>> >>>>> >>>>> Gabo Manuel wrote: >>>>> >>>>> >>>>>> Hi Sergey, >>>>>> >>>>>> I am a bit confused. How do I supply the namespace needed? I thought >>>>>> the >>>>>> package-info.java would be enough. >>>>>> >>>>>> Yes, for now I would be limiting the consume to just text/xml. The >>>>>> initial intent was to take advantage of CXF's handling between xml >>>>>> and >>>>>> json. But for now, we would be sticking to text/xml. >>>>>> >>>>>> Gabo >>>>>> >>>>>> Sergey Beryozkin wrote: >>>>>> >>>>>> >>>>>>> Hi Gabo >>>>>>> >>>>>>> thanks... >>>>>>> The reason you only see the '<representation/>' for my MyObject is >>>>>>> that >>>>>>> there's no namespace available , so even though the <grammars/> >>>>>>> section >>>>>>> has >>>>>>> the schema embedded there's no way to link to it from the >>>>>>> <representation/>. >>>>>>> May be I should have some XML comment generated which will advise to >>>>>>> check >>>>>>> the schema (with no namespace) ? >>>>>>> >>>>>>> You might also want to update Consumes("*/*") to require a more >>>>>>> specific >>>>>>> media type. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> I haven't tried it lately without the providers, but are primitives >>>>>>>> now >>>>>>>> supported out of the box? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> They are but only for text/plain. I'll add a task to wrap them in >>>>>>> some >>>>>>> tag >>>>>>> like <response> for xml media types >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Also, is there somewhere to look to be able to use the tool that >>>>>>>> creates >>>>>>>> an http-centric client-code from the wadl? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> No, I haven't started working on the code gen tool yet....But it's >>>>>>> on >>>>>>> the >>>>>>> map >>>>>>> >>>>>>> cheers, Sergey >>>>>>> >>>>>>> >>>>>>> >>>>>>> Gabo Manuel wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi Sergey, >>>>>>>> >>>>>>>> Sorry for the late response. I may have misrepresented the method, >>>>>>>> it >>>>>>>> should be as follows: >>>>>>>> >>>>>>>> @WebService(name="MyObjectService") >>>>>>>> @SOAPBinding(use=Use.LITERAL, style=Style.RPC) >>>>>>>> @Consumes("*/*") >>>>>>>> @Produces("text/xml") >>>>>>>> @Path("/MyObjects") >>>>>>>> public interface MyObjectService{ >>>>>>>> @GET >>>>>>>> @Path("/") >>>>>>>> @WebMethod >>>>>>>> @WebResult(name="myObjectInstance") >>>>>>>> public MyObject getMyObject( >>>>>>>> @QueryParam("uniqueIDField") >>>>>>>> @WebParam(name="uniqueIDField") >>>>>>>> long uniqueIDField) >>>>>>>> ; >>>>>>>> >>>>>>>> @PUT >>>>>>>> @Path("/") >>>>>>>> @WebMethod >>>>>>>> @WebResult(name="uniqueIDField") >>>>>>>> public long insertMyObject( >>>>>>>> @WebParam(name="myObjectInstance") >>>>>>>> MyObject myObjectInstance, >>>>>>>> @QueryParam("reason") >>>>>>>> @WebParam(name="reason") >>>>>>>> String reason >>>>>>>> ) >>>>>>>> ; >>>>>>>> } >>>>>>>> >>>>>>>> @WebService(endpointInterface="some.domain.MyObjectService", >>>>>>>> serviceName="MyObjectService", portName="MyObjectServicePort") >>>>>>>> public class MyObjectServiceImpl implements MyObjectService{ >>>>>>>> public MyObject getMyObject(long uniqueIDField) throws >>>>>>>> SolegyContingencyException{ >>>>>>>> return new MyObject(); >>>>>>>> } >>>>>>>> public long insertMyObject(MyObject myObjectInstance, String >>>>>>>> reason) >>>>>>>> throws SolegyContingencyException{ >>>>>>>> return 1; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @XmlType(name="MyObject") >>>>>>>> @XmlAccessorType(XmlAccessType.PROPERTY) >>>>>>>> @XmlRootElement(name="MyObject") >>>>>>>> public class MyObject { >>>>>>>> private long uniqueIDField; >>>>>>>> @GET >>>>>>>> @Path("/uniqueIDField") >>>>>>>> public long getUniqueIDField() { >>>>>>>> return uniqueIDField; >>>>>>>> } >>>>>>>> public void setUniqueIDField(long uniqueIDField) { >>>>>>>> this.uniqueIDField = uniqueIDField; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> The wadl section i get is something as follows: >>>>>>>> >>>>>>>> <method name="GET"> >>>>>>>> <request> >>>>>>>> >>>>>>>> </request> >>>>>>>> <response> >>>>>>>> <representation mediaType="text/xml"/> >>>>>>>> </response> >>>>>>>> </method> >>>>>>>> <method name="PUT"> >>>>>>>> <request> >>>>>>>> <representation/> >>>>>>>> >>>>>>>> </request> >>>>>>>> <response> >>>>>>>> <!-- Primitive type : xs:long --><representation >>>>>>>> mediaType="text/xml"/> >>>>>>>> </response> >>>>>>>> </method> >>>>>>>> >>>>>>>> And yes, I did specify text/xml. I also have providers included to >>>>>>>> wrap >>>>>>>> the response in tags. I had to add the providers because at the >>>>>>>> time >>>>>>>> (2.0), primitives were not supported. I haven't tried it lately >>>>>>>> without >>>>>>>> the providers, but are primitives now supported out of the box? >>>>>>>> >>>>>>>> Also, is there somewhere to look to be able to use the tool that >>>>>>>> creates >>>>>>>> an http-centric client-code from the wadl? >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> Gabo. >>>>>>>> >>>>>>>> Sergey Beryozkin wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hi Gabo >>>>>>>>> >>>>>>>>> It is an 'Object' so a WSDL generator has no idea what else to >>>>>>>>> say, >>>>>>>>> apart >>>>>>>>> from <representation/>. If you add "Consumes' with some values >>>>>>>>> then >>>>>>>>> you'll >>>>>>>>> get a bit more specific tag... >>>>>>>>> >>>>>>>>> >>>>>>>>> However, there appears to be a bug : >>>>>>>>> >>>>>>>>> <response><!-- Primitive type : xs:long >>>>>>>>> --><representation >>>>>>>>> mediaType="text/xml"/></response></method></resource> >>>>>>>>> >>>>>>>>> or do you have Produces('text/xml') on the class itself ? Can you >>>>>>>>> please >>>>>>>>> send me a class sample so that I can fix it ? >>>>>>>>> >>>>>>>>> cheers, Sergey >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> No virus found in this incoming message. >>>>>>> Checked by AVG - www.avg.com >>>>>>> Version: 8.5.409 / Virus Database: 270.13.62/2315 - Release Date: >>>>>>> 08/20/09 06:05:00 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> >>>> No virus found in this incoming message. >>>> Checked by AVG - www.avg.com >>>> Version: 8.5.409 / Virus Database: 270.13.65/2323 - Release Date: >>>> 08/24/09 06:05:00 >>>> >>>> >>>> >>> >> >> >> ------------------------------------------------------------------------ >> >> >> No virus found in this incoming message. >> Checked by AVG - www.avg.com >> Version: 8.5.339 / Virus Database: 270.13.67/2326 - Release Date: >> 08/25/09 18:07:00 >> >> > > -- View this message in context: http://www.nabble.com/JAX-RS-%3A-initial-WADL-support-tp24394736p25167275.html Sent from the cxf-user mailing list archive at Nabble.com.
