You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Alexander Blank (JIRA)" <ji...@apache.org> on 2011/06/15 04:02:47 UTC
[jira] [Created] (CXF-3591) the generated wadl contain empty
grammar section even though only jaxb classes are used
the generated wadl contain empty grammar section even though only jaxb classes are used
---------------------------------------------------------------------------------------
Key: CXF-3591
URL: https://issues.apache.org/jira/browse/CXF-3591
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 2.4
Environment: cxf servlet on tomcat 6.0.29
Reporter: Alexander Blank
when deploying the following service interface below with the jaxb classes one of them below
the generated wadl (in firefox by going to wadl url) does not have generated schema and grammar section is empty.
I tried setting properties to WADLGenerator with no effect.
Is it a bug (I have the same problem with version 2.3.0) or I need to configure something properly.
I am using jdk 1,5.
The configuration of the jaxrs server is below
<jaxrs:server id="myService" address="/" staticSubresourceResolution = "true">
<jaxrs:serviceBeans>
<ref bean="rateManagerResource"/>
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json"/>
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
</jaxrs:server>
@Path("/riskfoundation")
public interface RateManagerResource {
@GET
@Path("/ratesets")
@Produces({ "application/xml" })
@WadlElement(response = RateSetRes.class)
public Response getAllRateSets();
@GET
@Path("/curves")
@Produces({ "application/xml" })
public Response getAllCurves();
@GET
@Path("/ratesets/{name}")
@Produces({ "application/xml" })
public List<CurveDetailRes> getRateInput(@PathParam("name") String name);
@GET
@Path("/ratesets({id})")
@Produces({ "application/xml" })
public Response getRateInput(@PathParam("id") long id);
@POST
@Path("/ratesets({id})")
@Consumes({"application/xml"})
@Produces({"application/xml"})
public Response postRateDataWithId(@PathParam("id") long id,List<CurveDetailRes> rateData);
@POST
@Path("/ratesets/{name}")
@Consumes({"application/xml"})
@Produces({"application/xml"})
public Response postRateDataWithName(@PathParam("name") String name,List<CurveDetailRes> rateData);
}
@XmlRootElement(name = "rateset", namespace="http://analytics.moodys.com/")
public class RateSetRes extends RepresentationWithLinks{
public RateSetRes() {
}
private long id;
private String name;
public void setId(long id) {
this.id = id;
}
@XmlAttribute
public long getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CXF-3591) the generated wadl contain empty
grammar section even though only jaxb classes are used
Posted by "Sergey Beryozkin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-3591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049861#comment-13049861 ]
Sergey Beryozkin commented on CXF-3591:
---------------------------------------
I think the cause of it is that
@WadlElement(response = RateSetRes.class)
is only checked during the linking process but not at the initial context creation time...Will get it fixed for 2.4.2
By the way
List<CurveDetailRes>
won't link to a generated grammar.
but you can create a schema yourself and configure WADLGenerator to link to it and use @XmlName annotations to 'connect' types with the actual schema
> the generated wadl contain empty grammar section even though only jaxb classes are used
> ---------------------------------------------------------------------------------------
>
> Key: CXF-3591
> URL: https://issues.apache.org/jira/browse/CXF-3591
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.4
> Environment: cxf servlet on tomcat 6.0.29
> Reporter: Alexander Blank
>
> when deploying the following service interface below with the jaxb classes one of them below
> the generated wadl (in firefox by going to wadl url) does not have generated schema and grammar section is empty.
> I tried setting properties to WADLGenerator with no effect.
> Is it a bug (I have the same problem with version 2.3.0) or I need to configure something properly.
> I am using jdk 1,5.
> The configuration of the jaxrs server is below
> <jaxrs:server id="myService" address="/" staticSubresourceResolution = "true">
> <jaxrs:serviceBeans>
> <ref bean="rateManagerResource"/>
>
> </jaxrs:serviceBeans>
> <jaxrs:extensionMappings>
> <entry key="json" value="application/json"/>
> <entry key="xml" value="application/xml" />
> </jaxrs:extensionMappings>
> </jaxrs:server>
> @Path("/riskfoundation")
> public interface RateManagerResource {
> @GET
> @Path("/ratesets")
> @Produces({ "application/xml" })
> @WadlElement(response = RateSetRes.class)
> public Response getAllRateSets();
>
> @GET
> @Path("/curves")
> @Produces({ "application/xml" })
> public Response getAllCurves();
>
>
> @GET
> @Path("/ratesets/{name}")
> @Produces({ "application/xml" })
> public List<CurveDetailRes> getRateInput(@PathParam("name") String name);
>
> @GET
> @Path("/ratesets({id})")
> @Produces({ "application/xml" })
> public Response getRateInput(@PathParam("id") long id);
>
> @POST
> @Path("/ratesets({id})")
> @Consumes({"application/xml"})
> @Produces({"application/xml"})
> public Response postRateDataWithId(@PathParam("id") long id,List<CurveDetailRes> rateData);
> @POST
> @Path("/ratesets/{name}")
> @Consumes({"application/xml"})
> @Produces({"application/xml"})
> public Response postRateDataWithName(@PathParam("name") String name,List<CurveDetailRes> rateData);
> }
> @XmlRootElement(name = "rateset", namespace="http://analytics.moodys.com/")
> public class RateSetRes extends RepresentationWithLinks{
> public RateSetRes() {
> }
> private long id;
> private String name;
>
> public void setId(long id) {
> this.id = id;
> }
> @XmlAttribute
> public long getId() {
> return id;
> }
> public void setName(String name) {
> this.name = name;
> }
> public String getName() {
> return name;
> }
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CXF-3591) the generated wadl contain empty
grammar section even though only jaxb classes are used
Posted by "Sergey Beryozkin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-3591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Beryozkin resolved CXF-3591.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.5
2.4.2
Assignee: Sergey Beryozkin
> the generated wadl contain empty grammar section even though only jaxb classes are used
> ---------------------------------------------------------------------------------------
>
> Key: CXF-3591
> URL: https://issues.apache.org/jira/browse/CXF-3591
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.4
> Environment: cxf servlet on tomcat 6.0.29
> Reporter: Alexander Blank
> Assignee: Sergey Beryozkin
> Fix For: 2.4.2, 2.5
>
>
> when deploying the following service interface below with the jaxb classes one of them below
> the generated wadl (in firefox by going to wadl url) does not have generated schema and grammar section is empty.
> I tried setting properties to WADLGenerator with no effect.
> Is it a bug (I have the same problem with version 2.3.0) or I need to configure something properly.
> I am using jdk 1,5.
> The configuration of the jaxrs server is below
> <jaxrs:server id="myService" address="/" staticSubresourceResolution = "true">
> <jaxrs:serviceBeans>
> <ref bean="rateManagerResource"/>
>
> </jaxrs:serviceBeans>
> <jaxrs:extensionMappings>
> <entry key="json" value="application/json"/>
> <entry key="xml" value="application/xml" />
> </jaxrs:extensionMappings>
> </jaxrs:server>
> @Path("/riskfoundation")
> public interface RateManagerResource {
> @GET
> @Path("/ratesets")
> @Produces({ "application/xml" })
> @WadlElement(response = RateSetRes.class)
> public Response getAllRateSets();
>
> @GET
> @Path("/curves")
> @Produces({ "application/xml" })
> public Response getAllCurves();
>
>
> @GET
> @Path("/ratesets/{name}")
> @Produces({ "application/xml" })
> public List<CurveDetailRes> getRateInput(@PathParam("name") String name);
>
> @GET
> @Path("/ratesets({id})")
> @Produces({ "application/xml" })
> public Response getRateInput(@PathParam("id") long id);
>
> @POST
> @Path("/ratesets({id})")
> @Consumes({"application/xml"})
> @Produces({"application/xml"})
> public Response postRateDataWithId(@PathParam("id") long id,List<CurveDetailRes> rateData);
> @POST
> @Path("/ratesets/{name}")
> @Consumes({"application/xml"})
> @Produces({"application/xml"})
> public Response postRateDataWithName(@PathParam("name") String name,List<CurveDetailRes> rateData);
> }
> @XmlRootElement(name = "rateset", namespace="http://analytics.moodys.com/")
> public class RateSetRes extends RepresentationWithLinks{
> public RateSetRes() {
> }
> private long id;
> private String name;
>
> public void setId(long id) {
> this.id = id;
> }
> @XmlAttribute
> public long getId() {
> return id;
> }
> public void setName(String name) {
> this.name = name;
> }
> public String getName() {
> return name;
> }
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira