泽西岛2.x自定义注入注释NULL
我关注22.1.实施自定义注射提供商段 user-guide.html#部署 我定义了我的类: public class PrincipalConfig extends ResourceConfig { public PrincipalConfig() { packages("com.vex.klopotest.secured,com.klopotek.klas.auth.injection"); register(new MyBinder()); } } Mybinder在哪里: Public class MyBinder extends AbstractBinder implements Factory { @Override protected void configure() { bindFactory(this).to(MyInjectab
0 2024-02-26
编程技术问答社区
预先授权注解不与球衣一起使用
我正在尝试使用春季安全注释无需任何运气来确保泽西岛服务. 我已经将此部分添加到Web.xml: Jersey REST Service org.glassfish.jersey.servlet.ServletContainer jersey.config.server.provider.packages com.test.proj.ui.web.rest;com.fasterxml.jackson.jaxrs javax.ws.rs.Applica
0 2024-02-26
编程技术问答社区
泽西岛的注释继承
我正在创建一些具有相同形式的资源类,因此一个好主意是使用干燥并使用继承. 因此,我已经创建了一个RootResource类,并在此处放了一些方法.我想注释它们,然后在子类中实现它们,但它行不通!这是示例代码: public abstract class RootResource { @GET @Path("/{id: .*}") public abstract String getInfo(String uid); } @Path("/user") public class UserResource extends RootResource{ public String getInfo(@PathParam("id") String uid) { System.out.println("Hello!"); } } 我正在使用泽西岛2.6. 任何想法? 谢谢. 解决方案 我在使用泽西岛时经历了同一问题. 3.6注释继承 jax-rs注
0 2024-02-26
编程技术问答社区
AngularJS客户端,JAX-RS泽西休息服务-application/json客户端请求抛出'媒体类型解析错误'。
我正在使用以下AngularJS客户端代码来执行HTTP POST请求,并使用JSON格式化有效载荷到泽西岛REST服务 patientMgmtModule.controller('NewPatientCtrl', function NewPatientCtrl($scope, $http) { $scope.addPatient = function (){ var patientJSON = angular.toJson($scope.Patient); console.log("Patient (JSON) is ============> " + patientJSON); $http({ method: 'POST', data: $scope.Patient, url:'/ManagePatient/AddPatient', headers: {'Content-Type':'appli
0 2024-02-24
编程技术问答社区
如何让JAXRS 2 (Jersey)的verbose Trace与ResourceConfig一起工作?
我希望输出这样的jaxr的调试记录(按照 3 X-Jersey-Tracing-000: START [ ---- / ---- ms | ---- %] baseUri=[http://localhost:9998/ALL/] requestUri=[http://localhost:9998/ALL/root/sub-resource-locator/sub-resource-method] method=[POST] authScheme=[n/a] accept=[application/x-jersey-test] accept-encoding=n/a accept-charset=n/a accept-language=n/a content-type=[application/x-jersey-test] content-length=[11] 4 X-Jersey-Tracing-001: PRE-MATCH [ 0.01 / 0.68 ms | 0.01 %] Pre
2 2024-01-26
编程技术问答社区
检测客户端中止请求的泽西岛
我让泽西提供RESTFULL WEB服务.经常发生客户端的请求通过Ajax进行,并在此处解释了Ajax中止方法,流产AJAX请求 在服务器端,我将获得以下输出.看到的不好.有没有办法在泽西岛检测中止的请求? SEVERE: An I/O error has occurred while writing a response message entity to the container output stream. org.glassfish.jersey.server.internal.process.MappableException: ClientAbortException: java.net.SocketException: Broken pipe at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExcepti
2 2024-01-20
编程技术问答社区
带有有效载荷或表格数据的DELETE请求导致错误请求
我正在使用Java泽西岛2.17建立一项宁静的Web服务.客户的客户.我正在使用Extjs5. 开发 我在服务上的课程 main.java public class Main { public static final String BASE_URI = "http://localhost:8080/app/rest/"; public static HttpServer startServer() { final ResourceConfig rc = new ResourceConfig(); rc.packages(true, "app"); rc.register(ResponseCorsFilter.class); return GrizzlyHttpServerFactory.createHttpServer(URI.create(Main.BASE_URI), rc);
6 2023-12-23
编程技术问答社区
码头腹板。xml 503
因此,我正在尝试为学校项目设置码头,并使用服务器端的球衣和Gradle来构建和运行它.我有我的web.xml和一个试图用卷发进行的测试.这是我得到的: web.xml Project org.glassf
8 2023-12-22
编程技术问答社区
如何从Jersey-2请求过滤器访问wicket会话?
在泽西岛1.x中,我们从(泽西岛)会话属性访问了检票员,如下所述 https://stackoverflow. com/a/15767824/1399659 . 搬到泽西2.x时,似乎是使用 containerRequestFilter ,它也允许弹簧豆注入.通过包括 ,我们成功地工作了 jersey.config.server.provider.packages 作为servletContainer的初始化 - 帕拉姆,并在containerRequestFilter实现上使用@provider注释.但是,该容器过滤器是单胎,不可能将httpservletrequest注入到此为止(参见在filter()方法中,我们可以访问 containerRequestContext ,但无法从那里访问httpservletrequest. 所以有一种方法: 在servlet过滤器中启用弹簧豆注射(也带有泽西岛)? 从容
6 2023-12-03
编程技术问答社区
JAX-RS 2.0 WebSphere 8.5,无隔离共享库
我正在使用Jersey 2在IBM WebSphere 8.5环境中实现JAR-RS 2.0. 阅读这篇文章后WebSphere 8 我设法使此工作. 但是,是否可以将JAX-RS JARS捆绑在战争中并部署应用程序而无需创建孤立的共享库?如果不可能,请有人可以解释为什么是这种情况? 我了解将罐子放入库中的部署时间优势,但我希望构建整个应用程序,包括一场依赖性. - 编辑 - 如果您更改类加载顺序,则似乎可以从战争中加载JAX-RS罐子.您需要更改订单,以加载parent parent last的订单.这可以如下完成; 在管理控制台中: 应用程序 - > WebSphere Enterprise Applications-> {your.application} - >管理模块 - > {your.module} 将类加载程序订单下拉列表更改为:"首先加载了Local Class Loader的类(parent last)". 然而,
4 2023-12-03
编程技术问答社区
在使用jersey的飞行前请求后解析请求时出现异常
我们已经创建了CORS过滤器,如下所示: @Provider public class CORSFilter implements ContainerResponseFilter { @Override public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException { // TODO: Allow only from *our* Web front response.getHeaders().add("Access-Control-Allow-Origin", "*"); response.getHeaders().add("Access-Control-Allow-Headers", "origin, content-typ
2 2023-12-02
编程技术问答社区
Jackson没有使用JSON根元素
我正在使用JAX-RS +球衣来消费网络服务请求,杰克逊翻译JSON数据: @Path("/") public class JAXRSRestController { @Path("/jsonRequest") @POST @Consumes(MediaType.APPLICATION_JSON) public Response submitJsonRequest(SampleObject sampleObject, @Context HttpHeaders headers) { Ack ack = new Ack(); ack.setUniqueId(sampleObject.getId()); ack.setType(sampleObject.getName()); return Response.ok().entity(ack).build(); } } 在此请
4 2023-12-02
编程技术问答社区
JAX-RS响应对象将对象字段显示为NULL值
第一次在应用程序中实现JAX-RS Client API,在存储响应数据时,我遇到了一些小问题,响应数据以JSON为java bean返回.请参阅下面的以下代码段,其中说明了我到目前为止如何实施它. object = client.target(uri).request().post(Entity.entity(requestObject, APPLICATION_JSON), Object.class); 本质上,我想将Web服务中的返回JSON响应存储到我的Java bean中,在这种情况下,该响应被命名为object. requestObject显然是我发送到Web服务的数据,我可以确认帖子确实成功执行了该操作. 在上面示例中的代码行之后,我有一个简单的:object.toString();调用只是为了查看当前存储在此object中的值.但是,当执行并打印到控制台时,所有object字段均以null打印出来,我不明白为什么.我已经用以下@XmlRootElement
6 2023-12-02
编程技术问答社区
jersey ws 2.0 @suspended AsyncResponse, what does it do?
我正在分析一些球衣2.0代码,我对以下方法的工作方式有疑问: @Stateless @Path("/mycoolstuff") public class MyEjbResource { … @GET @Asynchronous //does this mean the method executes on child thread ? public void longRunningOperation(@Suspended AsyncResponse ar) { final String result = executeLongRunningOperation(); ar.resume(result); } private String executeLongRunningOperation() { … } } 在网络浏览器上说我在www.mysite/mycoolstuff中输入 这将执行该方
10 2023-12-02
编程技术问答社区
AsyncResponse的ConnectionCallback在泽西岛没有启动
对于异步编程,泽西岛(JAX-RS)提供了ConnectionCallback回调,该回调将在断开连接时将执行.来自 jersey docs : 某些异步请求可能需要很长时间来处理客户 决定在响应之前终止其与服务器的连接 已恢复或完全写给客户之前.到 处理这些用例可以使用ConnectionCallback.这 仅当连接过早时才执行回调 响应写在后面时终止或丢失 客户.请注意,当响应是时,将不会调用此回调 成功编写,客户连接按预期关闭. 听起来很棒,但我永远无法开火. 这是一些代码: @GET @Produces(MediaType.TEXT_PLAIN) @ManagedAsync @Path("/poll") public void poll(@Suspended final AsyncResponse asyncResponse) { asyncResponse.register(new CompletionCallback() {
8 2023-12-02
编程技术问答社区
Jersey 2过滤器在客户端请求过滤器中使用容器请求上下文
我有一项泽西2 Web服务,收到请求后,向另一个Web服务提出另一个请求,以形成原始请求的响应.因此,当客户" a-> b-> c 我想为泽西岛2个Web服务实现过滤器,从本质上讲: 客户端" A"将发送带有类似标题的请求 "我的头:第一个" 当我的Web服务" b"然后提交客户端请求" C"时,应该 附加到该标头,因此它与此标头发送请求 "我的头:第一,第二". 我想将其作为过滤器实现,以便我的所有资源不必复制附加到请求标题的逻辑. 但是,在泽西岛2中,您会得到这4个过滤器: ContainerRequestFilter-过滤/修改入站请求 contairSponseFilter-过滤/修改出站响应 clientrequestfilter-过滤/修改出站请求 ClientResponseFilter-过滤/修改入站响应 我需要使用入站请求中的标头,修改它,然后使用出站请求,因此从本质上讲,我需要一些既是containerRequestF
2 2023-12-02
编程技术问答社区
泽西岛过滤器不提供标题值
我们正在使用Jersey 2进行Java的REST Web服务. 我们创建了javax.ws.rs.container.ContainerRequestFilter和javax.ws.rs.container.ContainerResponseFilter 我们在发送Appkey,Secret,Sotken等的请求时有标题. 如果我们达到了邮递员的要求,它为所有标题提供了其值,如下所示: { host=[localhost:8080], connection=[keep-alive], authorization=[bearer ], cache-control=[no-cache], x-request-id=[], x-api-secret=[], user-agent=[Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (K
4 2023-12-02
编程技术问答社区
JAX-RS Web服务在本地主机上运行良好。但在服务器上运行时会出现错误
嗨,我使用JAX-RS和Spring MVC编写了Web服务.我正在使用Jersey插件来创建服务.当我在本地主机上运行它时,数据将成功检索,当我在服务器上托管服务时,会给Bellow错误. type Exception report message Servlet.init() for servlet lk.slsi.config.restConfig threw exception description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet lk.slsi.config.restConfig threw exception org.apache.catalina.authenticato
6 2023-12-02
编程技术问答社区
在Jersey 2.8中使用SSE时,服务器端事件没有启动
我正在尝试使用泽西SSE官方文档中给出的示例示例 请参阅以下链接中的" 14.5.2.使用Eventsource的异步SSE处理" 我的代码如下 客户端代码 - public class ClientSSEEventManager { public void WaitForEvents() { // Client client = ClientBuilder.newBuilder() // .register(SseFeature.class).build(); // WebTarget target = // client.target("http://localhost:8080/server/events"); // // EventInput eventInput = target.request()
6 2023-12-02
编程技术问答社区
一个资源模型对HTTP方法GET和输入的MIME类型有不明确的(子)资源方法,如"@Consumes "和"@Produces "注解所定义。
当以下URL不同时,以下错误如何产生此错误? @Path("/job/{empId}/empProfile") public EmpProfileResource delegateToEventProfileResource() { EmpProfileResource resource = new EmpProfileResource(); locator.inject(resource); return resource; } @Path("/job/{empId}/empTask") public EmpTaskResource getClientLevelAttendees(@PathParam("clientId") long clientId){ EmpTaskResource resource = new EmpTaskResource (empId); locator.inject(resource); return
8 2023-12-02
编程技术问答社区