Salut , j'ai réussi à faire un service web REST avec netbeans glassfish et jersey très simple . Mais la je veut retourner un objet un peut plus complexe . Et je ne trouve pas ou mettre @XmlRootElement .

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package service;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ws.rs.*;
import javax.ws.rs.core.Response;
import converter.FlyedpConverter;
import entities.FlysCombination;


@Path("/getdates")
public class FlyedpResource {



    @GET
    @Path("{date}")
    @Produces({"application/json"})
    public Response get(@PathParam("date") String date) throws IOException


    {

        FlysCombination comb =new  FlysCombination();
	      FlysCombination x = FlysCombination.instance();

            comb = x.getcomb(date);



              System.out.println(comb.toString());

        if(comb == null)
            {
            return Response.status(Response.Status.NOT_FOUND).build();
        }
        return Response.ok(comb).build();
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entities;

import converter.FlyedpConverter;
import java.util.ArrayList;

/**
 *
 * @author mehdi
 */
public class FlysCombination {

    public FlysCombination ()
            {

    }

    public static FlysCombination flycomb=null;

     public static FlysCombination instance()
            {
        if(flycomb == null)
            {
            flycomb=new FlysCombination();
        }
        return flycomb;
    }


	private  String session;
	@SuppressWarnings("rawtypes")
	private   ArrayList combinations = new ArrayList();


	public FlysCombination(String session,ArrayList combinations)
	{
            this.session=session;
            this.combinations=combinations;

	}

       

        	public ArrayList getcombinations() {
		return combinations;
	}
	public void setcombinations(ArrayList goingthere) {
		this.combinations = goingthere;
	}





public String getsession() {
		return session;
	}

public void setsession(String session) {
		this.session = session;
	}


public FlysCombination getcomb(String a)
        {
     FlyedpConverter fly = new FlyedpConverter (a);
         combinations.add(fly);
     session="sdjkbsqdjhf";
     FlysCombination flycomb =new FlysCombination (session,combinations);


             return(flycomb);


}



}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package converter;

public class FlyedpConverter

{


private String keydate;



public FlyedpConverter(String keydate)
{
    this.keydate=keydate;
}


public String getkeydate() {
	return keydate;
}
public void setkeydate(String keydate) {
	this.keydate = keydate;
}

}
Quand je l'essaye j'ai cette erreur :

Status: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:268) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1029) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:680)
je suis persuadé que l'erreur est causer par l'objet retourner, j'ai pas su où mettre @XmlRootElement ... Aidez moi svp je suis perdu