Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Notes/Domino中用于身份验证的SOAP头_Soap_Lotus Domino_Ws Security_Lotusscript - Fatal编程技术网

Notes/Domino中用于身份验证的SOAP头

Notes/Domino中用于身份验证的SOAP头,soap,lotus-domino,ws-security,lotusscript,Soap,Lotus Domino,Ws Security,Lotusscript,我需要使用需要客户端(计算机)证书的WS。更准确地说,它使用WS-Security:SOAP消息安全性、WS-Security:X.509证书令牌配置文件,如 使用本机使用者,Domino不会(神奇地)在SOAP头中添加身份验证。现在我应该如何在标题中添加安全性?理想情况下,在LotusScript中 无论如何,我看不到在我自己的标题中嵌入消费者或丰富现有消费者。我加入IBM对此的回应。 因此,我的问题是: 在Lotusscript中有这样做的方法吗 你们中的一些人在java中做过类似的事情吗

我需要使用需要客户端(计算机)证书的WS。更准确地说,它使用WS-Security:SOAP消息安全性、WS-Security:X.509证书令牌配置文件,如

使用本机使用者,Domino不会(神奇地)在SOAP头中添加身份验证。现在我应该如何在标题中添加安全性?理想情况下,在LotusScript中
无论如何,我看不到在我自己的标题中嵌入消费者或丰富现有消费者。我加入IBM对此的回应。
因此,我的问题是:

  • 在Lotusscript中有这样做的方法吗
  • 你们中的一些人在java中做过类似的事情吗(我可能会制作一个LS2J,因为当我(希望)从WS-Server获得响应时,已经存在很多LotusScript代码了)
IBM回应:

我们知道您正试图使用SOAP头进行身份验证。不幸的是,目前不支持此操作。 供您参考,我们至少有两个与此主题相关的增强请求(我可以在该区域找到):
SPR#SODY9H6BTM:创建自己的Soap对象不支持Web代理中的客户端证书身份验证。
SPR#JSHN7A3MLP:WS-Consumer SOAP信封头元素中的身份验证数据
不幸的是,目前我们在支持方面无能为力。

如果我正确理解了您的问题,您不知道如何处理SOAP标头,如果是这样,您可能想知道两件事:

1) 使用本机Domino使用者方法传递会话。见下面的例子

TestServiceLocator service = new TestServiceLocator();
TestPort port = service.getTestPort();
// that would tell to save cookie session between calls
((javax.xml.rpc.Stub)port)._setProperty(javax.xml.rpc.Stub.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
2) 如果它不适合您,您可以尝试使用本机SOAP方法。我最近在博客上写过:

想象一下,您使用的是customGetAll方法

SOAPBody soapBody = envelope.getBody();
SOAPElement soapBodyElem = soapBody.addChildElement("Customer_GetAll", "m");
soapMessage.getMimeHeaders().addHeader("Cookie", sesisonCookie);
soapMessage.saveChanges();

希望能有所帮助。

我用这个答案很有效:
SOAPBody soapBody = envelope.getBody();
SOAPElement soapBodyElem = soapBody.addChildElement("Customer_GetAll", "m");
soapMessage.getMimeHeaders().addHeader("Cookie", sesisonCookie);
soapMessage.saveChanges();