Я хочу вызвать метод отдыха веб-службы (я использую Джерси). Я использую сервер apache tomcat.это метод класса '' ListenerImp '':
package cuWasteCollection;
import java.io.IOException;
import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.osoa.sca.annotations.Reference;
@Path("/listenerc")
@Produces(MediaType.TEXT_PLAIN)
public class ListenerImp implements Listener{
static
CUManager CUWasteCollection=new CUManagerImp();
@Override
public void Receive(int idU, float level, double latitude, double longitude) throws IOException {
System.out.println("Listener CU waste Ok!");
CUWasteCollection.lanch(idU, level, latitude, longitude);
}
}
Это код интерфейса '' Listener '':
package cuWasteCollection;
import java.io.IOException;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
public interface Listener {
@GET
@Path("/receiveCU/{id}/{level}/{latitude}/{longitude}")
void Receive(@PathParam("id")int id, @PathParam("level") float level, @PathParam("latitude") double latitude, @PathParam("longitude") double longitude) throws IOException;
}
Это метод клиента:
public void handle(int id, float level, double latitude, double longitude) {
ClientConfig config = new ClientConfig();
Client client2 = ClientBuilder.newClient(config);
WebTarget target = client2.target(getBaseURI());
System.out.println("CUProbe Ok!");
String R= target.path("listenerc")
.path("receiveCU/"+id+"/"+level+"/"+latitude+"/"+longitude).request()
.accept(MediaType.TEXT_PLAIN).get(String.class);
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8083/CUWasteCollecting")
.build();
}
И это основной метод, который запускает метод handle ():
static
CUManagerImp UP = new CUManagerImp();
public static void main(String[] args) throws InterruptedException, IOException {
System.out.println("start process");
UP.handle(0,120,241,2541);
}
во время выполнения метода main я получаю следующее исключение:
start process
CUProbe Ok!
Exception in thread "main" javax.ws.rs.InternalServerErrorException: HTTP 500 Erreur Interne de Servlet
at org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:1074)
at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:859)
at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:743)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:205)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:741)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:404)
at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:300)
at cuUltrasoundProbe.CUManagerImp.handle(CUManagerImp.java:45)
at cuUltrasoundProbe.Test.main(Test.java:18)
Заранее спасибо.