Невозможно вызвать остальной веб-сервис
Я просто пробую пример с сервисом отдыха. Мой класс обслуживания отдыха:
@Path("oauth")
public class OauthClass {
private static Map<String, OauthBean> oAuthBeanMap = new HashMap<String, OauthBean>();
static {
OauthBean oAuthBean = new OauthBean();
oAuthBean.setAccess_token(String.valueOf(Math.random()));
oAuthBean.setToken_type("bearer");
oAuthBean.setRefresh_token(String.valueOf(Math.random()));
oAuthBean.setExpires_in("44517");
oAuthBeanMap.put(oAuthBean.getToken_type(), oAuthBean);
}
@GET
@Path("/token?client_id={clntID}")
@Produces("application/json")
public OauthBean getOAuthJSON(@PathParam("clntID") String clientID) {
System.out.println(clientID + " Secret ");
System.out.println("oAuthBeanMap.get(\"bearer\") :P " + oAuthBeanMap.get("bearer"));
return oAuthBeanMap.get("bearer");
}
}
Теперь, когда я пытаюсь вызвать этот URL:
http://localhost:7070/RESTfulWS/rest/oauth/token?client_id=clnt001
Я получаю ошибку 405. Метод не разрешен. Ниже приведен мой web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>RESTfulWS</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.eviac.blog.restws</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Я использую майку 1.18. Что я делаю неправильно? С нетерпением жду ваших решений.
1 ответ
Читая ваш код, я думаю, что вы должны написать @Path("/token")
вместо @Path("/token?client_id={clntID}")
,
Кроме того, как вы сами отметили, вы должны использовать QueryParam
вместо PathParam