मैं अपवाद नीचे हो रही है जब भी अपने बाकी ग्राहक कोड नीचे दिए गए कोड का उपयोग कर बाकी सेवा को फोन करेगा: कोड:बाकी JAX-आरएस 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");
}
अपवाद :
: 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
मेरे बाकी सेवा बिलाव 8 सर्वर और ग्राहक पर तैनात किया जाता है जेबॉस 7.2 पर कोड तैनात किया गया है। क्लाइंट एप्लिकेशन एसआईपी-सर्वलेट एप्लिकेशन है जो आरईएसटी क्लाइंट को भी बंडल करता है।
जब मैं क्लाइंट को स्टैंडअलोन जावा एप्लिकेशन के रूप में जांचता हूं तो यह काम करता है लेकिन जब जेबॉस पर तैनात किया जाता है तो यह त्रुटि देता है। मेरे पोम फ़ाइल है:
<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>
मैं भी रूप में इस लिंक https://github.com/gondor/openstack4j/issues/30 यह JBoss config standalone.xml से JAX-आरएस निष्क्रिय करने के लिए कहते हैं पर सुझाव दिया करने की कोशिश। मैं सर्वर शुरू करते समय स्टैंडअलोन-एसआईपी.एक्सएमएल का उपयोग कर रहा हूं इसलिए मैंने इसे केवल संशोधित किया। इन दो पंक्तियों को हटा दिया गया:
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
<extension module="org.jboss.as.jaxrs"/>
यह भी काम नहीं कर रहा है। मुझे नहीं पता कि कैसे अक्षम किया जाए, सिर्फ जेएक्स-आरएस की खोज की और उन पंक्तियों को हटा दिया जहां मैंने उन्हें पाया।
एक एसओ पोस्ट में Response response
के बजाय javax.ws.rs.core.Response respone
का उपयोग करने का सुझाव था, लेकिन यह भी किस्मत नहीं था।
एक और जानकारी: आरईएसटी कॉल स्वयं सफल है, कि मैं टॉमकैट सर्वर पर देख सकता हूं।
कृपया सुझाव दें कि और क्या किया जा सकता है।
धन्यवाद
यदि मैं जार हटा देता हूं तो जेबॉस शुरू नहीं होता है। – user3275095