草庐IT

java - JAX-WS、Axis2 和 CXF 的区别

有什么区别:JAX-WSAxis2CXF这三个都可用于在Java中创建Web服务。据我所知,JAX-WS是一个规范,而Axis2和CXF是实现,但如果我没记错的话,Java1.6已经实现了JAX-WS。那么可以使用Java1.6开发JAX-WSWeb服务而不使用Axis2或CXF吗?那么Axis2、CXF有什么用呢? 最佳答案 JDK中内置的JAX-WS实现实际上只是基本的肥皂Material。如果您需要任何更复杂的WS-*事物,例如WS-Security、WS-RM、WS-Policy等...,您需要使用CXF或Metro或Axi

java - 使用 JAX-WS 跟踪 XML 请求/响应

有没有一种简单的方法(又名:不使用代理)来访问使用JAX-WS引用实现(JDK1.5和更好的版本)发布的Web服务的原始请求/响应XML?能够通过代码做到这一点是我需要做的。只需通过巧妙的日志记录配置将其记录到文件中就可以了。我知道存在其他更复杂和更完整的框架可以做到这一点,但我希望尽可能简单,并且轴、cxf等都会增加我想避免的相当大的开销。谢谢! 最佳答案 以下选项可以记录与控制台的所有通信(从技术上讲,您只需要其中一个,但这取决于您使用的库,因此设置所有四个是更安全的选项)。您可以像示例中那样在代码中设置它,也可以使用-D将其设

java - JAX-RS/Jersey 如何自定义错误处理?

我正在使用Jersey学习JAX-RS(又名JSR-311)。我已经成功创建了一个根资源并正在使用参数:@Path("/hello")publicclassHelloWorldResource{@GET@Produces("text/html")publicStringget(@QueryParam("name")Stringname,@QueryParam("birthDate")DatebirthDate){//Returnagreetingwiththenameandage}}这很好用,可以处理Date(String)构造函数理解的当前语言环境中的任何格式(如YYYY/mm/dd

java - JAX-RS — 如何同时返回 JSON 和 HTTP 状态码?

我正在编写一个RESTWeb应用程序(NetBeans6.9、JAX-RS、TopLinkEssentials)并尝试返回JSON和HTTP状态代码。当从客户端调用HTTPGET方法时,我已经准备好并且可以运行返回JSON的代码。本质上:@Path("get/id")@GET@Produces("application/json")publicM_機械getMachineToUpdate(@PathParam("id")Stringid){//somecodetoreturnJSON...returnmyJson;}但我也想返回一个HTTP状态代码(500、200、204等)以及JSO

java - 在 JAX-RS 2.0 客户端库中处理自定义错误响应

我开始在JAX-RS中使用新的客户端API库,到目前为止我真的很喜欢它。我发现了一件事我无法弄清楚。我使用的API有一个自定义错误消息格式,例如:{"code":400,"message":"Thisisamessagewhichdescribeswhytherewasacode400."}它返回400作为状态码,但还包含一条描述性错误消息,告诉您您做错了什么。但是,JAX-RS2.0客户端将400状态重新映射为通用状态,我丢失了良好的错误消息。它正确地将其映射到BadRequestException,但带有通用的“HTTP400BadRequest”消息。javax.ws.rs.Ba

java - 在 JAX-RS 2.0 客户端库中处理自定义错误响应

我开始在JAX-RS中使用新的客户端API库,到目前为止我真的很喜欢它。我发现了一件事我无法弄清楚。我使用的API有一个自定义错误消息格式,例如:{"code":400,"message":"Thisisamessagewhichdescribeswhytherewasacode400."}它返回400作为状态码,但还包含一条描述性错误消息,告诉您您做错了什么。但是,JAX-RS2.0客户端将400状态重新映射为通用状态,我丢失了良好的错误消息。它正确地将其映射到BadRequestException,但带有通用的“HTTP400BadRequest”消息。javax.ws.rs.Ba

java - JAX-RS 发布多个对象

我有方法;@POST@Path("test")@Consumes(MediaType.APPLICATION_JSON)publicvoidtest(ObjectOneobjectOne,ObjectTwoobjectTwo)现在我知道我可以以json格式发布单个对象,只需将其放入正文中即可。但是可以做多个对象吗?如果有,怎么做? 最佳答案 您不能使用Tarlog正确说明的方法。但是,您可以这样做:@POST@Path("test")@Consumes(MediaType.APPLICATION_JSON)publicvoidtes

java - JAX-RS 发布多个对象

我有方法;@POST@Path("test")@Consumes(MediaType.APPLICATION_JSON)publicvoidtest(ObjectOneobjectOne,ObjectTwoobjectTwo)现在我知道我可以以json格式发布单个对象,只需将其放入正文中即可。但是可以做多个对象吗?如果有,怎么做? 最佳答案 您不能使用Tarlog正确说明的方法。但是,您可以这样做:@POST@Path("test")@Consumes(MediaType.APPLICATION_JSON)publicvoidtes

java - 测试 JAX-RS Web 服务?

我目前正在寻找为JAX-RS创建自动化测试的方法。(用于RESTfulWeb服务的JavaAPI)基于Web服务。我基本上需要一种方法来向它发送某些输入并验证我是否得到了预期的响应。我更喜欢通过JUnit来实现,但我不确定如何实现。您使用什么方法来测试您的网络服务?更新:正如entzik指出的,将Web服务与业务逻辑分离可以让我对业务逻辑进行单元测试。但是,我还想测试正确的HTTP状态代码等。 最佳答案 Jersey带有一个很棒的RESTful客户端API,它使编写单元测试变得非常容易。请参阅Jersey附带的示例中的单元测试。我们

java - 测试 JAX-RS Web 服务?

我目前正在寻找为JAX-RS创建自动化测试的方法。(用于RESTfulWeb服务的JavaAPI)基于Web服务。我基本上需要一种方法来向它发送某些输入并验证我是否得到了预期的响应。我更喜欢通过JUnit来实现,但我不确定如何实现。您使用什么方法来测试您的网络服务?更新:正如entzik指出的,将Web服务与业务逻辑分离可以让我对业务逻辑进行单元测试。但是,我还想测试正确的HTTP状态代码等。 最佳答案 Jersey带有一个很棒的RESTful客户端API,它使编写单元测试变得非常容易。请参阅Jersey附带的示例中的单元测试。我们