当前位置: 首页 > 知识库问答 >
问题:

如何用Java手动给webservice调用添加cookie?

石喜
2023-03-14

我想连接到web服务(WS)。但是,为了与这个web服务交互,必须提供一个cookie。

到目前为止,这是我所拥有的:

String requiredCookieName = "requiredCookieName";
String requiredCookieValue = getRequiredCookieValue();

// Prepare SOAP message
SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
soapMessage.getMimeHeaders().addHeader("SOAPAction", getSoapAction());
soapMessage.saveChanges();

// Send SOAP message
SOAPConnection soapConnection = buildSoapConnection();
SOAPBody soapBody = soapConnection
                      // How to add required cookie here before calling WS?
                      .call(soapMessage, getOperationLocation("operationName"))
                      .getSOAPBody();

// Process response...

如何将所需的cookie添加到对WS的底层HTTP请求中?

共有1个答案

王旺
2023-03-14

您可以通过将相应的CookieHTTP标头添加到消息中来做到这一点(就像您已经为SOAPAction标头所做的那样):

soapMessage.getMimeHeaders().addHeader(
    "Cookie", requiredCookieName + "=" + requiredCookieValue);
 类似资料:
  • 我宁静的服务是 我使用 jetty 服务器在网络上公开了此服务 如何使用阿帕奇骆驼调用此服务。请详细解释我,因为我是骆驼的新手。提前致谢

  • 本文向大家介绍如何用IOS调用WebService(SOAP接口),包括了如何用IOS调用WebService(SOAP接口)的使用技巧和注意事项,需要的朋友参考一下 在一次项目开发过程中,用到IOS调用WebService接口,所以抽个空把这方面的内容给大家整理出来,分享给大家。 方法一:使用WSDL2ObjC工具,将接口转成OC类。 1.在浏览器中输入webService接口地址(Safari

  • 问题内容: 我有一个处理多部分表单发布的servlet。该帖子实际上是由嵌入在页面中的Flash文件上传组件发布的。在某些浏览器中,Flash生成的POST不包含JSESSIONID,这使我无法在发布期间从会话中加载某些信息。 Flash上​​载组件的确在特殊格式字段中包含cookie和会话信息。使用此表单字段,我实际上可以检索JSESSIONID值。问题是,我不知道如何使用此JSESSIONID

  • 使用ASIHTTPRequest调用WebService,实现手机号码归属地查询功能。已将ASIHTTPRequest调用WebService的方法进行封装,并且通过GDataXMLNode来解析XML。 [Code4App.com]

  • 问题内容: 我是ReactJS和React-Router的新手。我有一个组件,通过props 从 react-router 接收一个对象。每当用户单击该组件内部的“下一步”按钮时,我都希望手动调用对象。 现在,我正在使用 refs 访问 支持实例, 并手动单击生成的’a’标记。 问题: 有没有办法手动调用链接(例如)? 这是我目前的代码: 这是我想要的代码: 问题答案: v4推荐的方法是允许您的r

  • 我是ReactJS和react-router的新手。我有一个组件,它通过props从react-router接收对象。每当用户单击该组件中的“下一步”按钮时,我都希望手动调用对象。 现在,我正在使用refs访问支持实例,并手动单击生成的'a'标记。 这是我想要的代码: