草庐IT

java - 将 EJB 注入(inject) JAX-RS(RESTful 服务)

我正在尝试通过注释将StatelessEJB注入(inject)到我的JAX-RSWeb服务中。不幸的是,EJB只是null,当我尝试使用它时,我得到了一个NullPointerException。@Path("book")publicclassBookResource{@EJBprivateBookEJBbookEJB;publicBookResource(){}@GET@Produces("application/xml")@Path("/{bookId}")publicBookgetBookById(@PathParam("bookId")Integerid){returnboo

java - Apache CXF : How to secure JAX-RS web service with basic authentication

我有一个Spring应用程序,它使用ApacheCXF(使用jax-rs)发布一些RESTfulWeb服务。我想使用HTTP基本身份验证来保护对这些服务的访问。用户名和密码应该在Spring配置文件中。主应用程序已经使用了SpringSecurity,我不想弄乱那个设置。最简单的方法是什么?我可以编写自己的ServletFilter,但肯定有办法配置它吗? 最佳答案 HTTPBasicAuthenticationwithApacheCXFRevisited的作者提供了实现HTTP基本身份验证验证的CXF拦截器的代码,以及如何定义安全

java - 如何更改自动生成的肥皂 :address from a JAX-WS webservice WSDL deployed with Spring

我有一个使用来自WSDL的wsimport生成的Web服务实现。此服务部署在Springwebapp中的Tomcat服务器中。spring的配置文件(只有webservice部分)是这样的当我在tomcat中部署这个webapp时,如果我去的话,我可以得到WSDLhttp://localhost:8080/foo/fooService?wsdlwsdlsoap:address属性是这样的:现在,一切都好。问题在于,在生产环境中,我们有一个ApacheWeb服务器,该服务器将请求重定向到Tomcat。它也可以,但是当我们获得WSDL时,soap:address仍然是localhost:8

java - 使用 JAX-RS 处理 REST API 中的错误

任务:我不想在我的堆栈跟踪中接收一般的HTTP500内部服务器错误和客户端上同样可怕的堆栈跟踪,我希望看到我的自定义消息与另一个状态码(例如403),这样开发人员就会更清楚地知道发生了什么。并向用户添加一些关于异常的消息。以下是我的应用程序中更改的几个类:服务器部分:AppException.class-我所有的服务器响应异常(在返回给客户端之前)我想转换成这个异常。有点标准的实体类publicclassAppExceptionextendsWebApplicationException{Integerstatus;/**applicationspecificerrorcode*/in

java - Spring MVC REST 不符合 JAX-RS。有关系吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我在SpringMVCREST方面有很好的经验,并交付了几个可靠的项目。我的问题是关于JAX-RS合规性。这是否重要,因为Spring将继续存在,而且我不预见(也没有理由)必须在短期内从SpringMVCREST迁移到Jersy或任何其他JAX-RSimpl。有什么会迫使我考虑使用JAX-RS实现而不是SpringMVCREST? 最佳答案

java - 获取 "MessageBodyWriter not found for media type=application/json"尝试通过 JAX-RS Web 服务发送 JSON 对象

我正在尝试通过JAX-RSWeb服务发送JSON对象。我的文件web.xml是:JAX-RSToolsGenerated-DonotmodifyJAX-RSServletorg.glassfish.jersey.servlet.ServletContainerjersey.config.server.provider.packagesit.notifirecom.sun.jersey.api.json.POJOMappingFeaturetrue1JAX-RSServlet/jaxrs/*模拟我要发送的对象的类是:publicclassGPSCoordinate{privatefloa

java - 从发布请求中读取 JAX-RS 客户端中的响应正文

在移动应用程序和网络服务之间存在某种代理,我们对发出发布请求时的响应感到困惑。我们收到状态为200的响应:OK。但我们无法找到/提取JSON响应正文。Clientclient=ClientBuilder.newClient();WebTargetwebTarget=client.target(WEBSERVICE_BASE_LOCATION+"mobileDevices?operatorCode=KPNSCP");StringjsonString="{\"osVersion\":\"4.1\",\"apiLevel\":16,\"devicePlatform\":\"ANDROID\"

json - 如何将 JSON 对象发布到 JAX-RS 服务

我正在使用JAX-RS的Jersey实现。我想向此服务发布一个JSON对象,但我收到错误代码415UnsupportedMediaType。我错过了什么?这是我的代码:@Path("/orders")@Consumes(MediaType.APPLICATION_JSON)@Produces(MediaType.APPLICATION_JSON)publicclassOrderResource{privatestaticMaporders=newHashMap();@POSTpublicvoidcreateOrder(Orderorder){orders.put(order.id,or

java - 如何为 JAX-WS Web 服务客户端设置超时?

我使用JAXWS-RI2.1为我的Web服务创建了一个基于WSDL的接口(interface)。我可以毫无问题地与Web服务交互,但无法指定向Web服务发送请求的超时时间。如果由于某种原因它没有响应客户端似乎永远在旋转它的轮子。四处寻找发现我可能应该尝试做这样的事情:((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout",10000);((BindingProvider)myInterface).getRequestContext().put("com.sun.xml

java - JAX-RS 中的 Provider 是什么意思?

谁能向我解释一下JAX-RSProvider是什么以及“@Provider”注释的作用是什么?我一直在阅读文档,但我无法得到它。如果有资源类为传入的请求提供服务,那么Providers会做什么?当我创建持久资源类(不是按请求的资源类)时,它们与单例资源类有何不同?还是这些类也是提供者? 最佳答案 提供程序是一种扩展和自定义JAX-RS运行时的简单方法。您可以将它们视为(可能)改变运行时行为的插件,以实现一组(程序定义的)目标。提供者不与资源类相同,从概念上讲,它们存在于资源类和JAX-RS实现之间的级别。如果有帮助,您可以将它们视为