Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JAX-WS客户端中设置SOAP头_Java_Web Services_Soap_Jax Ws - Fatal编程技术网

Java 如何在JAX-WS客户端中设置SOAP头

Java 如何在JAX-WS客户端中设置SOAP头,java,web-services,soap,jax-ws,Java,Web Services,Soap,Jax Ws,我正在尝试跟随,目标是设置SOAP头 到目前为止,我的代码如下所示: SomethingPortType portType = service.getPort(SomethingPortType.class); Map<String, Object> requestHeaders = new HashMap<String, Object>(); requestHeaders.put("MyHeader1", "This is a string value"); requ

我正在尝试跟随,目标是设置SOAP头

到目前为止,我的代码如下所示:

SomethingPortType portType = service.getPort(SomethingPortType.class);

Map<String, Object> requestHeaders = new HashMap<String, Object>();
requestHeaders.put("MyHeader1", "This is a string value");
requestHeaders.put("MyHeader2", "This is a string value2");

// Set the Map as a property on the RequestContext.
BindingProvider bp = (BindingProvider) portType;
bp.getRequestContext().put("???", requestHeaders);
SomethingPortType-portType=service.getPort(SomethingPortType.class);
Map requestHeaders=new HashMap();
put(“MyHeader1”,“这是一个字符串值”);
requestHeaders.put(“MyHeader2”,“这是一个字符串值2”);
//将映射设置为RequestContext上的属性。
BindingProvider bp=(BindingProvider)端口类型;
bp.getRequestContext().put(“?”,requestHeaders);

我没有使用任何应用服务器,如何找出我应该放在什么地方???(或示例中的com.ibm.websphere.webservices.Constants.REQUEST_TRANSPORT_属性)正确设置SOAP头?

简而言之,我缺少这一行:

bp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);

那么您将使用哪个库进行Web服务开发我只使用Jax WS而不使用其他库您的回答将添加http头,而不是SOAPMessageContext.http_请求_头仅将头添加为http协议头。它不会添加到SOAP消息的内容中。