Apache CXF 和 javax.ws.rs.core.Response
Apache CXF And javax.ws.rs.core.Response
我有一个 deleteProduct 方法:
@Override
public Response deleteProduct(String productId) {
Response response = Response
.status(Response.Status.FORBIDDEN)
.entity(new IllegalAccessError("This is a JAXB object with an error string"))
.build();
return response;
}
我的问题是我总是收到这样的回复:
<ns2:deleteProductResponse xmlns:ns2="http://ws.cxf.test.com/">
<return/>
</ns2:deleteProductResponse>
为什么我没有看到我的消息错误?
我认为您在 JAX-RS
和 JAX-WS
之间感到困惑。如果您指的是 SOAP-UI
,则意味着您正在构建基于 SOAP 的 Web 服务,或者换句话说,您正在使用 SOA
- 面向服务的架构,它在 SOAP 协议而非 HTTP 上运行。因此,基于它们的 HTTP 状态代码或错误消息不会在此处出现。
但是,如果您要构建 RESTful 网络服务(基于 JAX-RS
的网络服务),它与 HTTP 息息相关。
首先,根据您的项目需求决定使用什么框架,然后进行相应的编码。
我有一个 deleteProduct 方法:
@Override
public Response deleteProduct(String productId) {
Response response = Response
.status(Response.Status.FORBIDDEN)
.entity(new IllegalAccessError("This is a JAXB object with an error string"))
.build();
return response;
}
我的问题是我总是收到这样的回复:
<ns2:deleteProductResponse xmlns:ns2="http://ws.cxf.test.com/">
<return/>
</ns2:deleteProductResponse>
为什么我没有看到我的消息错误?
我认为您在 JAX-RS
和 JAX-WS
之间感到困惑。如果您指的是 SOAP-UI
,则意味着您正在构建基于 SOAP 的 Web 服务,或者换句话说,您正在使用 SOA
- 面向服务的架构,它在 SOAP 协议而非 HTTP 上运行。因此,基于它们的 HTTP 状态代码或错误消息不会在此处出现。
但是,如果您要构建 RESTful 网络服务(基于 JAX-RS
的网络服务),它与 HTTP 息息相关。
首先,根据您的项目需求决定使用什么框架,然后进行相应的编码。