Hi Sergey,
This response is tad bit late. Finally got the free time to check out
the recent version 2.2.8. No problem here. The object Foo is displayed
in the grammar properly. Posting answer just in case. :)
Gabo
Sergey Beryozkin wrote:
I did a very quick test with 2.3-SNAPSHOT, using FooService interface and
Foo jaxb bean, as well as FooServiceImpl, and everything is generated
correctly, there's a grammar section and one of the wadl responses links to
a Foo element declared in the grammar.
Perhaps there was some issue in 2.2.5, must've been fixed in 2.2.7/trunk
cheers, Sergey
On Mon, Mar 29, 2010 at 9:25 AM, Gabo Manuel <[email protected]>wrote:
Hi Team,
Given the following:
@WebService(name="FooService",
targetNamespace="http://foos.domain.com/")
@SOAPBinding(use=Use.LITERAL, style=Style.RPC)
@Consumes("*/xml")
@Produces("text/xml")
@Path("/Foos")
public interface FooService{
@GET
@Path("/")
@WebMethod
@WebResult(name="Foo")
public Foo getFoo(
@QueryParam("fooId")
@WebParam(name="fooId")
long fooId)
;
/*-
* This method intentionally has no HTTP Method annotation.
* This method will be used for sub-resource locator feature
* of JAX-RS.
*/
@Path("/")
@WebMethod(exclude=true)
public Foo getFooProperty(
@QueryParam("fooId")
long fooId
)
;
@GET
@Path("/filter/")
@WebMethod(exclude=true)
public List<Foo> getFoos(
@QueryParam("somefilterparam")
String somefilterparam
)
;
}
@XmlType(name="Foo", namespace="http://foos.domain.com")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name="Foo", namespace="http://foos.domain.com")
public class Foo{
long fooId=0;
@GET
@Path("/fooID")
public long getFooId() {
return fooId;
}
public long setFooId(long fooId) {
return this.fooId = fooId;
}
}
The generated wadl does not contain any grammar. I noticed that if I
include the following, the grammar shows properly:
@PUT
@Path("/")
@WebMethod
@WebResult(name="fooId")
public long insertFoo(
@WebParam(name="foo")
Foo foo
)
;
Thanks in advance.
Gabo