users@jersey.java.net

Re: [Jersey] [WADL] How to make local schema navigated in WADL grammars

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Wed, 07 Oct 2009 11:05:32 +0200

Hi,

Modify the <servlet> declaration to <filter> and <servlet-mapping> to
<filter-mapping>.

    <!-- Filter controleur Jersey Spring-->
    <filter>
     <filter-name>Jersey Spring Web Application</servlet-name>
     <filter-
class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</
servlet-class>
     <init-param>
       <param-name>com.sun.jersey.config.property.packages</param-name>
       <param-value>MyXsdFolder</param-value>
     </init-param>
     <init-param
       <param-name>com.sun.jersey.config.property.WadlGeneratorConfig</
param-name>
       <param-value>MySampleWadlGeneratorConfig</param-value>
     </init-param>
    </filter>

   <!-- Jersey mapping -->
   <filter-mapping>
     <filter-name>Jersey Spring Web Application</servlet-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>

Paul.

On Oct 7, 2009, at 10:58 AM, piltrafeta wrote:

>
> Thx Paul,
>
> but my web.xml il like this :
> <web-app>
> <display-name>Archetype Created Web Application</display-name>
>
> <!-- Spring configuration -->
> <context-param>
> <param-name>contextConfigLocation</param-name>
> <param-value>WEB-INF/spring/service-applicationContext.xml
> WEB-INF/spring/business-applicationContext.xml
> WEB-INF/spring/converter-applicationContext.xml
> WEB-INF/spring/dao-applicationContext.xml</param-value>
> </context-param>
>
> <!-- Spring listener -->
> <listener>
> <listener-class>
> org.springframework.web.context.ContextLoaderListener
> </listener-class>
> </listener>
> <listener>
>
> <listener-class>org.springframework.web.context.request.RequestContextListener
> </listener-class>
> </listener>
>
> <!-- Servlet controleur Jersey Spring-->
> <servlet>
> <servlet-name>Jersey Spring Web Application</servlet-name>
>
> <servlet-
> class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</
> servlet-class>
> <init-param>
> <param-name>com.sun.jersey.config.property.packages</param-name>
> <param-value>MyXsdFolder</param-value>
> </init-param>
> <init-param>
>
> <param-name>com.sun.jersey.config.property.WadlGeneratorConfig</
> param-name>
> <param-value>MySampleWadlGeneratorConfig</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> <!-- Jersey mapping -->
> <servlet-mapping>
> <servlet-name>Jersey Spring Web Application</servlet-name>
> <url-pattern>/*</url-pattern>
> </servlet-mapping>
> </web-app>
>
> should i have to create a filter element?
> thanks
> eli
>
>
>
> Paul Sandoz wrote:
>>
>>
>> On Oct 6, 2009, at 6:03 PM, piltrafeta wrote:
>>
>>>
>>> Hi,
>>> I'm having the same problem..
>>>
>>> I've tried what you recomend but can't acces in a static way to my
>>> xsd
>>> http://localhost:8080/yourapp/ABC.xsd
>>>
>>> Maybe I need to configure something in the web.xml?
>>>
>>
>> I think you need to place the ABC.xsd in a URI path location that is
>> not served by Jersey.
>>
>> If you use the Jersey ServletContainer as a filter you can set the
>> property:
>>
>> https://jersey.dev.java.net/nonav/apidocs/1.1.2-ea/jersey/com/sun/jersey/spi/container/servlet/ServletContainer.html
>> #PROPERTY_WEB_PAGE_CONTENT_REGEX
>>
>> For example, below is the filter declaration of the bookstore sample:
>>
>> <filter>
>> <filter-name>Jersey Filter</filter-name>
>> <filter-
>> class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-
>> class>
>> <init-param>
>> <param-name>com.sun.jersey.config.feature.Redirect</param-
>> name>
>> <param-value>true</param-value>
>> </init-param>
>> <init-param>
>> <param-
>> name>com.sun.jersey.config.feature.ImplicitViewables</param-name>
>> <param-value>true</param-value>
>> </init-param>
>> <init-param>
>> <param-name>com.sun.jersey.config.property.packages</
>> param-
>> name>
>> <param-value>com.sun.jersey.samples.bookstore.resources</
>> param-value>
>> </init-param>
>> <init-param>
>> <param-
>> name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
>> <param-value>/(images|css|jsp)/.*</param-value>
>> </init-param>
>> </filter>
>>
>> Notice the last init param that declares the regex "/(images|css|
>> jsp)/.*", This declares that any path which matches the regex will be
>> served by the web container and not Jersey.
>>
>> Hth,
>> Paul.
>>
>>> Eli
>>>
>>>
>>>
>>>
>>> Martin Grotzke-2 wrote:
>>>>
>>>> Hi,
>>>>
>>>> On Thu, 2009-02-05 at 11:48 +0800, wei zhou wrote:
>>>>> Hi all, I am a newer to Jersey.
>>>> welcome :)
>>>>
>>>>>
>>>>> Jersery is able to add customerized documententation & grammars to
>>>>> its
>>>>> WADL.
>>>>>
>>>>> For adding grammars to the WADL, the wadl generator reads schema
>>>>> info
>>>>> from file "application-grammars.xml", where I want to add local
>>>>> XSD
>>>>> files.
>>>> Exactly. The WadlGeneratorGrammarsSupport reads some xml file and
>>>> adds
>>>> the grammars element to the application.wadl.
>>>>
>>>>>
>>>>> The "application-grammars.xml" is like this:
>>>>>
>>>>> <grammars xmlns="http://research.sun.com/wadl/2006/10"
>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>> xmlns:xi="http://www.w3.org/1999/XML/xinclude">
>>>>> <xsd:include schemaLocation="ABC.xsd" />
>>>>> <!-- include href="ABC.xsd" -->
>>>>> </grammars>
>>>> You should use the
>>>> <include href="ABC.xsd" />
>>>>
>>>> (I'm just comparing with the application-grammars.xml of the
>>>> generate-wadl/extended-wadl-webapp sample... :)
>>>>
>>>> And perhaps you can put some
>>>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>>>> at the top? But I don't think that this produces issues if missing
>>>> (but
>>>> not sure).
>>>>
>>>>>
>>>>> In the case, "ABC.xsd" is a local schema in my project that it
>>>>> does
>>>>> not have a final static url. After the project is deployed to web
>>>>> server, this "ABC.xsd" is not navigated in its WADL file.
>>>> Hmm, what do you mean with "navigated"? The first thing to check is
>>>> if
>>>> the application.wadl contains the content of your
>>>> application-grammars.xml. If so, the job of the
>>>> WadlGeneratorGrammarsSupport is done.
>>>>
>>>> The ABC.xsd should live besides the generated application.wadl
>>>> then. If
>>>> you use static generation of the wadl (at build time, as shown by
>>>> the
>>>> generate-wadl sample), this is the same directory. If the
>>>> application.wadl is generated at runtime and you access it at e.g.
>>>> http://localhost:8080/yourapp/application.wadl, the ABC.xsd
>>>> should be
>>>> available at http://localhost:8080/yourapp/ABC.xsd I'd say.
>>>>
>>>> I hope this helps,
>>>> cheers,
>>>> Martin
>>>>
>>>>
>>>>> For example, my project is deployed in the JBOSS where "ABC.xsd"
>>>>> is
>>>>> located in "myApp.war/web-inf/wsdl/ABC.xsd".
>>>>>
>>>>> How to make "ABC.xsd" navigated in the WADL file?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/WADL-How-to-make-local-schema-navigated-in-WADL-grammars-tp2274188p3775964.html
>>> Sent from the Jersey mailing list archive at Nabble.com.
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/WADL-How-to-make-local-schema-navigated-in-WADL-grammars-tp2274188p3780550.html
> Sent from the Jersey mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>