Hallo Ich versuche, ein Problem von der Arbeit zu lösen, aber mir fehlt das Wissen in dieser Angelegenheit. Ich hatte gehofft, dass jemand mir etwas Licht geben kann, dem ich folgen kann. Ich versuche, einen einfachen REST-Client zu erstellen und einige externe REST-Webdienste zu nutzen.Jersey 2 in WAS 7 REST Client
Meine Entwicklung env .:
Eclipse-Luna + Websphere Portal 7 (WS 7) + JAVA 1.7 unter Verwendung von Maven für Abhängigkeiten +. Ich versuche Jersey 2 zu verwenden (neueste Version weiß nicht, ob ich Trikot 1 verwenden suposed wurde)
In meiner web.xml Ich habe diese:
<servlet>
<servlet-name>ServletAdaptor</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>myportal/dataaccess/webservice/rest/myrestclient</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
In meinem pom.xml
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.23.1</version>
</dependency>
Jersey-Container-Servlet-Core, weil ich ein Servlet-aPI 2.5
Meine einfache Methode haben einen Token zu bekommen ich brauche
@GET
@Consumes(MediaType.APPLICATION_JSON)
public String getToken() {
String resposta="";
System.out.println("STEP 1");
ClientConfig config = new ClientConfig();
Client client = javax.ws.rs.client.ClientBuilder.newClient(config);
System.out.println("STEP 2");
WebTarget targetnp = client.target(_BASE_URI).path("/login");
System.out.println("STEP 3");
targetnp.queryParam("login", _LOGIN);
targetnp.queryParam("password", _PASSWORD);
System.out.println("STEP 4");
Invocation.Builder invocationBuilder = targetnp.request(MediaType.APPLICATION_JSON);
Response response = invocationBuilder.get();
System.out.println("STEP 5");
System.out.println(response.getStatus());
return resposta;
}
DAS PROBLEM
SystemOut O STEP 1
[25-07-2016 10:22:12:797 BST] 0000003e SystemOut O STEP 2
[25-07-2016 10:22:12:813 BST] 0000003e ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet RESTtest in application MyPortalEAR. Exception created : java.lang.AbstractMethodError: javax/ws/rs/core/UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
at org.glassfish.jersey.client.JerseyWebTarget.<init>(JerseyWebTarget.java:71)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:290)
at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:76)
ich die _BASE_URI bestätigen kann, ist gut ausgebildet. Ich verstehe nicht, warum das passiert.
Irgendwelche Ideen?
Hat nicht funktioniert..thx –