Yas*_*har 5 rest web-services jax-rs jaxb resteasy
我正在尝试通过代理调用 webservice 方法,但我收到一条错误消息:“目标类的子资源没有 jax-rs 注释。:org.jboss.resteasy.core.ServerResponse”
这是我的服务器类
@Path("/authorizationCheck")
public class AuthorizationRestService implements AuthorizationService {
@Override
@Path("/webserviceTest")
public Response webserviceTest(){
TestDTO x = new TestDTO();
x.setFieldOne("ffff");
x.setFieldTwo("gggg");
Response res = Response.ok(x).build();
return res;
}
}
Run Code Online (Sandbox Code Playgroud)
有这样的界面
@Path("/authorizationCheck")
public interface AuthorizationService {
@POST
@Path("/webserviceTest")
public Response webserviceTest();
}
Run Code Online (Sandbox Code Playgroud)
我的返回对象包裹在响应中
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class TestDTO {
private String fieldOne;
private String fieldTwo;
public String getFieldOne() {
return fieldOne;
}
public void setFieldOne(String fieldOne) {
this.fieldOne = fieldOne;
}
public String getFieldTwo() {
return fieldTwo;
}
public void setFieldTwo(String fieldTwo) {
this.fieldTwo = fieldTwo;
}
}
Run Code Online (Sandbox Code Playgroud)
最后是我的客户课
@Stateful
@Scope(ScopeType.CONVERSATION)
@Name("authorizationCheckService")
public class AuthorizationCheckService {
public void testWebservice(){
RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
AuthorizationService proxy =
ProxyFactory.create(AuthorizationService.class,
ApplicationConfig.WORKFLOWSERVER_URL + "services/authorizationCheck/webserviceTest");
Response response = proxy.webserviceTest();
return;
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么,任何帮助将不胜感激。
webserviceTest() 有两个注释,即 @POST 和 @Path。
在实现的类中重复重写方法中的两个注释。这意味着将 @POST 注释添加到 webserviceTest() 方法中。
那么应该可以了!
这就是它不起作用的原因..在实现类中没有正确的注释。 为什么java类不从实现的接口继承注释?
| 归档时间: |
|
| 查看次数: |
10203 次 |
| 最近记录: |