如何在Java中的JAX-WS的服务器端启用CORS [英] How to enable CORS on server side of JAX-WS in java

查看:68
本文介绍了如何在Java中的JAX-WS的服务器端启用CORS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在Java中使用JAX-WS公开了SOAP Web服务。
以下是代码段:

I have exposed SOAP webservice using JAX-WS in java. Following is the code snippet:

package com.soap.calculator;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class Calci {

  @WebMethod    
  public int add(int x, int y){
      return x+y;
  }

  @WebMethod    
  public int subtract(int x, int y){
      return x-y;
  }

}

以下是发布此代码的代码段网络服务:

Following is code snippet for publishing this webservice:

package com.soap.calculator;

package com.soap.calculator;

import javax.xml.ws.Endpoint;

public class Server {
 public static void main(String agrs[]){
     Endpoint ep = Endpoint.publish("http://localhost:8081/SoapwebService", new Calci());
     System.out.println("Service created");
 }
}

我正在使用 jQuery插件,用于使用SOAP与该Web服务进行通信。由于此Web服务在其他域中公开,因此在CORS模式下启用了浏览器并生成预检请求用于访问Web服务。我的问题是如何使用jax-ws在服务器端启用CORS支持?

I am using jQuery plugin for communicating with this webservice using SOAP.Since this webservice is exposed on some other domain, browser is enabled in CORS mode and generating preflight request for accessing web service. My question is How to enable CORS support on server side using jax-ws?

推荐答案

作为JAX-RS,响应应使用CORS标头来丰富。在通过Filter定义实现的JAX-RS实现中。在JAX-WS中,可以对处理程序应用相同的技术。

As JAX-RS, response should be enriched with CORS headers. In JAX-RS implementation that is achieved by Filter definition. In JAX-WS, you can apply the same technique with "Handlers".

https://docs.oracle.com/cd/E13222_01/wls/docs103/webserv_adv/handlers.html

在这里您可以找到示例。使用SOAPHandler并测试它是否为 OutBoundMessage,然后在此处添加CORS标头。

Here you can find an example. Use SOAPHandler and test if it is an "OutBoundMessage", then add CORS headers here.

这篇关于如何在Java中的JAX-WS的服务器端启用CORS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆