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.

Reply via email to