我有一个基于cxf和camel的restful web服务。我正在为我的工作流程使用Camel routing,大概是这样..
客户-
豆子FooBar看起来像这样…
public class Bar {
public MyObject foo(String request, Exchange exchange){
//do some procesing
return instance of MyObject;
}
现在的问题是,每当我测试它时,我都会在客户端得到 200 的响应代码。现在,如果我希望这段代码不是 200,我需要在 HttpServletResponse
或其他一些 javax.ws.rs.core.Response
对象中设置它,但我如何访问这个响应对象。
我尝试了以下方法,但没有解决我的问题。
>
exchange.get(). sethead er(Exchange.HTTP_RESPONSE_CODE,202);
exchange.get(). sethead er(Exchange.HTTP_RESPONSE_CODE,202);
exchange.setProperty(Exchange.HTTP_RESPONSE_CODE, 202);
<代码> Response.status(202)。build();
你在路上累了吗
Response r = Response.status(202).entity("Created").build();
exchange.getOut().setBody(r);
由于您想更改默认响应,因此需要覆盖交换出消息
设置HTTP_RESPONSE_code
后,需要告诉交换发生了错误。
exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, 202);
exchange.getOut().setFault(true);
这里有一个解决方法,我不知道这是不是唯一的方法,但这对我来说很有效。将方法Foo的返回类型更改为响应(javax.ws.rs.core),然后将对象(“myobject的实例”)包装在该响应中,如果需要,还可以指定mime类型..下面是一个例子..
public class Bar {
public Response foo(String request, Exchange exchange){
//make instance of MyObject
MyObject myObj = new myObj();
//do your processing and set the object in response code
Response response = Response.status(Status.ACCEPTED).entity(myObj).type(MediaType.APPLICATION_JSON).build();
return response;
}
}
我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A
问题内容: 我看到了一些类似的问题(像这样),但是没有一个问题专门解决这个问题。 因此,Google 现在支持SPA,并且大多数网络浏览器都支持HTML5 pushState 。 我的AngularJS(但可能是任何JS东西)网站都使用URL来确定API路由。然后执行API调用,然后相应地呈现内容。 但是,由于 每个URL都 返回HTTP 200状态代码(包括example.com/get-fre
我们在前端使用OpenWeb js库,它们需要.NET中间层在发生某些类型的错误时向它们发送特定的HTTP头状态代码。我试图做到这一点: 它有点半途而废。看截图:http状态码 http://zerogravpro.com/temp/pic.png 请注意,我在响应标头中实现了状态码400,但我确实需要请求标头中的400。相反,我得到了“200 OK”。我如何实现这一点? 我用于进行调用的 URL
问题内容: 有状态会话bean和HTTP会话之间有什么关系吗?我们将需要有状态会话Bean的用例是什么,而HTTP会话需要哪些用例。我可以将有状态会话Bean公开为静态Web服务吗? 问题答案: HTTP是一种无状态协议, 这意味着 它是服务器和客户端之间的实际传输协议- 是“无状态的, 因为它在调用之间不记得任何东西。 现在,首先阅读一下什么是HTTPSession和什么是Session Bea
问题内容: 我有一个PHP脚本,需要使用HTTP响应代码(状态代码)进行响应,例如HTTP 200 OK,或一些4XX或5XX代码。 如何在PHP中做到这一点? 问题答案: 我刚刚发现了这个问题,并认为它需要一个更全面的答案: 从 PHP 5.4开始 ,有三种方法可以实现此目的: 自行组装响应代码(PHP> = 4.0) 该函数有一个特殊的用例,可以检测HTTP响应行,并让您用自定义行替换它 但是
的方法,例如抛出。我想从catch块中的那个异常对象中提取HTTP状态代码和响应正文。我该怎么做?