SOAP HTTP参数Cookie Java

时间:2012-04-02 10:28:35

标签: java soap

我正在尝试使用Java API javax.xml.soap。*调用Web服务,并使用以下代码:

QName serviceName = new QName("xxx","xxx", "xxx");
QName portName = new QName("xxx","xxx","xxx");
String endpointAddress = "xxx";
Service service = Service.create(serviceName);
service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING,endpointAddress);
Dispatch<SOAPMessage> dispatch =  service.createDispatch(portName,SOAPMessage.class,Service.Mode.MESSAGE);
BindingProvider bp = (BindingProvider) dispatch;
...

它完美运行,我只是想知道如何在此请求的HTTP标头上传递Cookie值? webservice配置了安全性,我无法登录。

谢谢!

若昂

1 个答案:

答案 0 :(得分:1)

BindingProvider bp = (BindingProvider) dispatch;

        bp.getRequestContext().put(
                MessageContext.HTTP_REQUEST_HEADERS,
                Collections.singletonMap("Cookie", Collections
                        .singletonList("xxx")));

这是设置标头参数的代码。

我使用的是SAP提供的奇怪的.jars,这就是问题所在。

由于