草庐IT

java - JAX-WS - 将异常映射到故障

我正在使用JAXWS来公开WebService。该服务的某些操作可能会产生异常。不是内部服务器异常,而是依赖于操作调用的输入参数的异常。如果我指定我的操作会引发自定义异常,如下所示:@WebService@SOAPBinding(style=Style.RPC,use=Use.LITERAL)publicclassMyServiceEndpointImplimplementsMyServiceEndpoint{@WebMethodpublicvoidthrowsExceptionthrowsInvalidInputException;}在运行应用程序时,我最终得到以下堆栈跟踪:com.

java - JAX-WS - 将异常映射到故障

我正在使用JAXWS来公开WebService。该服务的某些操作可能会产生异常。不是内部服务器异常,而是依赖于操作调用的输入参数的异常。如果我指定我的操作会引发自定义异常,如下所示:@WebService@SOAPBinding(style=Style.RPC,use=Use.LITERAL)publicclassMyServiceEndpointImplimplementsMyServiceEndpoint{@WebMethodpublicvoidthrowsExceptionthrowsInvalidInputException;}在运行应用程序时,我最终得到以下堆栈跟踪:com.

java - 从 JAX-RS 服务发送重定向

是否可以让JAX-RSWeb服务重定向到另一个网页?就像使用Servletresponse.sendRedirect("http://test/test.html")一样。JAX-RSWeb服务本身应该重定向。如果相关,我正在使用RESTEasy。 最佳答案 是的,如果您的返回类型是Response(或HttpServletResponse),您可以在Jersey或任何JAX-RS实现(包括RestEasy)中执行此操作https://eclipse-ee4j.github.io/jersey.github.io/apidocs/1

java - 从 JAX-RS 服务发送重定向

是否可以让JAX-RSWeb服务重定向到另一个网页?就像使用Servletresponse.sendRedirect("http://test/test.html")一样。JAX-RSWeb服务本身应该重定向。如果相关,我正在使用RESTEasy。 最佳答案 是的,如果您的返回类型是Response(或HttpServletResponse),您可以在Jersey或任何JAX-RS实现(包括RestEasy)中执行此操作https://eclipse-ee4j.github.io/jersey.github.io/apidocs/1

java - sun-jaxws.xml - 什么时候需要,什么时候不需要?

我对JAX-WS进行了高度概述,并注意到一些对sun-jaxws.xml的引用(以及com.sun.xml.ws.transport.http.servlet。WSServletContextListener和com.sun.xml.ws.transport.http.servlet.WSServlet)。在什么情况下需要这样做?(我认为是JSR109服务器?!) 最佳答案 sun-jaxws.xml是一个专有部署描述符,当使用SUN的引用将Web服务作为标准WAR存档部署在非JavaEE5servlet容器上时需要执行。Sun的R

java - sun-jaxws.xml - 什么时候需要,什么时候不需要?

我对JAX-WS进行了高度概述,并注意到一些对sun-jaxws.xml的引用(以及com.sun.xml.ws.transport.http.servlet。WSServletContextListener和com.sun.xml.ws.transport.http.servlet.WSServlet)。在什么情况下需要这样做?(我认为是JSR109服务器?!) 最佳答案 sun-jaxws.xml是一个专有部署描述符,当使用SUN的引用将Web服务作为标准WAR存档部署在非JavaEE5servlet容器上时需要执行。Sun的R

java - 在 JAX-RS 中使用 @Context、@Provider 和 ContextResolver

我刚刚熟悉使用JAX-RS在Java中实现RESTWeb服务,但遇到了以下问题。我的资源类之一需要访问存储后端,该后端被抽象为StorageEngine接口(interface)。我想将当前的StorageEngine实例注入(inject)到服务于REST请求的资源类中,我认为这样做的一个好方法是使用@Context注释和适当的ContextResolver类。这是我目前所拥有的:在MyResource.java中:classMyResource{@ContextStorageEnginestorage;[...]}在StorageEngineProvider.java中:@Prov

java - 在 JAX-RS 中使用 @Context、@Provider 和 ContextResolver

我刚刚熟悉使用JAX-RS在Java中实现RESTWeb服务,但遇到了以下问题。我的资源类之一需要访问存储后端,该后端被抽象为StorageEngine接口(interface)。我想将当前的StorageEngine实例注入(inject)到服务于REST请求的资源类中,我认为这样做的一个好方法是使用@Context注释和适当的ContextResolver类。这是我目前所拥有的:在MyResource.java中:classMyResource{@ContextStorageEnginestorage;[...]}在StorageEngineProvider.java中:@Prov

java - 这个 JAX-WS 客户端调用线程安全吗?

由于WS客户端服务和端口的初始化需要很长时间,我喜欢在启动时将它们初始化一次并重用相同的端口实例。初始化看起来像这样:privatestaticRequestContextrequestContext=null;static{MyServiceservice=newMyService();MyPortmyPort=service.getMyServicePort();MaprequestContextMap=((BindingProvider)myPort).getRequestContext();requestContextMap=((BindingProvider)myPort).

java - 这个 JAX-WS 客户端调用线程安全吗?

由于WS客户端服务和端口的初始化需要很长时间,我喜欢在启动时将它们初始化一次并重用相同的端口实例。初始化看起来像这样:privatestaticRequestContextrequestContext=null;static{MyServiceservice=newMyService();MyPortmyPort=service.getMyServicePort();MaprequestContextMap=((BindingProvider)myPort).getRequestContext();requestContextMap=((BindingProvider)myPort).