Notes/Domino中用于身份验证的SOAP头
我需要使用需要客户端(计算机)证书的WS。更准确地说,它使用WS-Security:SOAP消息安全性、WS-Security:X.509证书令牌配置文件,如 使用本机使用者,Domino不会(神奇地)在SOAP头中添加身份验证。现在我应该如何在标题中添加安全性?理想情况下,在LotusScript中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中做过类似的事情吗
无论如何,我看不到在我自己的标题中嵌入消费者或丰富现有消费者。我加入IBM对此的回应。
因此,我的问题是:
- 在Lotusscript中有这样做的方法吗
- 你们中的一些人在java中做过类似的事情吗(我可能会制作一个LS2J,因为当我(希望)从WS-Server获得响应时,已经存在很多LotusScript代码了)
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();