Java 如何将http头添加到soap webservice glassfish

Java 如何将http头添加到soap webservice glassfish,java,web-services,soap,netbeans,glassfish,Java,Web Services,Soap,Netbeans,Glassfish,如何使用netbeans和glassfish将http头添加到soap Web服务 我的Web服务类: package com.service; import com.model.Contact; import com.model.Phonebook; import java.util.ArrayList; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; @WebServ

如何使用netbeans和glassfish将http头添加到soap Web服务

我的Web服务类:

package com.service;

import com.model.Contact;
import com.model.Phonebook;
import java.util.ArrayList;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;


@WebService(serviceName = "PhonebookService")
public class PhonebookService {

    private Phonebook phonebook = new Phonebook();

    @WebMethod(operationName = "insert")
    public String insert(@WebParam(name = "contact") Contact contact) {

        phonebook.add(contact);
        return contact.getName() + " inserted";

    }

    @WebMethod(operationName = "update")
    public String update(@WebParam(name = "contact") Contact contact) {

        phonebook.update(contact);
        return contact.getName() + " updated";

    }

    @WebMethod(operationName = "remove")
    public String remove(@WebParam(name = "contact") Contact contact) {

        phonebook.remove(contact);
        return contact.getName() + " removed";

    }

    @WebMethod(operationName = "list")
    public ArrayList<Contact> list() {

        return phonebook.list();

    }

}
package.com.service;
导入com.model.Contact;
导入com.model.Phonebook;
导入java.util.ArrayList;
导入javax.jws.WebMethod;
导入javax.jws.WebParam;
导入javax.jws.WebService;
@WebService(serviceName=“PhonebookService”)
公共类电话簿服务{
私人电话簿Phonebook=新电话簿();
@WebMethod(operationName=“插入”)
公共字符串插入(@webgram(name=“contact”)联系人){
电话簿。添加(联系人);
返回contact.getName()+“已插入”;
}
@WebMethod(operationName=“更新”)
公共字符串更新(@webgram(name=“contact”)联系人){
电话簿。更新(联系);
返回contact.getName()+“已更新”;
}
@WebMethod(operationName=“删除”)
公共字符串删除(@webgram(name=“contact”)联系人){
电话簿。删除(联系人);
返回contact.getName()+“已删除”;
}
@WebMethod(operationName=“list”)
公共阵列列表(){
返回phonebook.list();
}
}
我想添加“访问控制允许来源:*”标题


我该怎么做呢?

在互联网上搜索数小时后,我编写了以下代码,允许添加额外的http头。我将它与netbeans生成的webservice和内置的glassfish 3服务器一起使用

import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.*;

@WebFilter(urlPatterns = { "/*" })
public class CrossOriginResourceSharingFilter implements Filter {

    public CrossOriginResourceSharingFilter() { }

    @Override
    public void init(FilterConfig fConfig) throws ServletException { }

    @Override
    public void destroy() { }

    @Override
    public void doFilter(
        ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {

        ((HttpServletResponse)response).addHeader(
            "Access-Control-Allow-Origin", "*"
        );
                ((HttpServletResponse)response).addHeader(
            "Access-Control-Allow-Headers", "Content-Type, Authorization, Accept"
        );
                ((HttpServletResponse)response).addHeader(
                        "Access-Control-Allow-Methods", "GET, POST, OPTIONS"
                );

        chain.doFilter(request, response);
    }
}

你是怎么用的?您是如何在netbeans中将其添加到web服务的?