io sono sempre al di sotto di eccezione ogni volta che il mio codice cliente REST effettua una chiamata al servizio REST utilizzando il codice qui sotto: Codice:REST JAX-RS javax.ws.rs.ProcessingException:
public void putWatcher(Watcher watcher)
{
System.out.println("In REST Client putWatcher.***********");
target = target.path(RESOURCE_WATCHERS).path(watcher.getWatcheruri());
System.out.println(target.getUri());
Invocation.Builder builder = target.request();
builder.put(Entity.json(watcher));
// Response response = target.request().put(Entity.json(watcher));
System.out.println("Returned from REST Call");
}
Eccezione :
: javax.ws.rs.ProcessingException: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family;
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:667)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:664)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:664)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:424)
at org.glassfish.jersey.client.JerseyInvocation$Builder.put(JerseyInvocation.java:318)
Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family;
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.<init>(Statuses.java:63)
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.<init>(Statuses.java:54)
at org.glassfish.jersey.message.internal.Statuses.from(Statuses.java:93)
at org.glassfish.jersey.client.HttpUrlConnector._apply(HttpUrlConnector.java:323)
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:227)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
... 29 more
mio servizio REST è distribuito su Tomcat 8 server e il client il codice è distribuito su JBoss 7.2. L'applicazione client è l'applicazione SIP-Servlet che include anche il client REST.
Quando eseguo il test del client come applicazione Java autonoma, esso funziona ma quando viene distribuito su JBoss restituisce l'errore. Il mio file POM è:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- logging dependency -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.0.4</version>
<scope>provided</scope>
</dependency>
<!-- web j2ee dependencies -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- sip dependencies -->
<dependency>
<groupId>org.mobicents.servlet.sip</groupId>
<artifactId>sip-servlets-spec</artifactId>
<version>1.7.0.FINAL</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.13</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.13</version>
</dependency>
anche io cerco di fare come suggerito su questo link https://github.com/gondor/openstack4j/issues/30 Dice di disabilitare JAX-RS da JBOSS config standalone.xml. Sto usando standalone-sip.xml mentre avvio il server, quindi ho modificato solo quello. Rimosse queste due righe:
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
<extension module="org.jboss.as.jaxrs"/>
Anche questo non funziona. Non so come disabilitare, ho appena cercato JAX-RS e cancellato quelle linee dove ho trovato quelle.
In un post SO c'era un suggerimento di usare javax.ws.rs.core.Response respone
invece di Response response
provato anche questo ma senza fortuna.
Un'altra informazione: la chiamata REST ha esito positivo, che è possibile vedere sul server Tomcat.
Si prega di suggerire che altro si può fare.
Grazie
Se elimino il barattolo poi JBoss non si avvia. – user3275095