Praca nad projektem, w którym muszę korzystać z usługi sieciowej przez HTTPS (SSL) przy użyciu Domino 8.0.2.

Udało się stworzyć bibliotekę skryptów do korzystania z usługi sieciowej.

Stworzyłem prosty przycisk do testowania używania go za pomocą tego kodu:

Use "AA-FEED"

Sub Click(Source As Button)
Dim ws1 As New IAccountService_n1
Dim r1 As New  ArrayOfValidSystem_n2

Set r1 = ws1.GetValidSystemsList()

End Sub

Po wywołaniu Notes monituje mnie o weryfikację krzyżową z Twoim serwerem, co robię.

Tego należy się spodziewać.

Kliknij przycisk „Cross Certify”, a następnie skontaktujemy się z serwisem internetowym i wyświetli komunikat o błędzie:

„Metoda GetValidSystemsList usługi sieci Web IAccountService_n1 zwróciła błąd”.

Więc...

Dostawca usługi sieciowej mówi, że gdy jest ona wykorzystywana w Javie, dodaje informacje o certyfikacie do nagłówka mydła.

Nie jestem pewien, czy akcje Certyfikacji krzyżowej w programie Lotus będą odpowiadać w programie LotusScript.

1
Derek 16 luty 2012, 20:27

2 odpowiedzi

Najlepsza odpowiedź

Jeśli usługa WebService wymaga uwierzytelnienia, w wygenerowanym kodzie klienta usługi sieci Web dodaj następujące po wywołaniu inicjowania usługi sieci Web:

Sub NEW
    Call Service.Initialize ("UrnDefaultNamespaceWSQueryService", ...
    'ADD THE FOLLOWING
    'set userid and password if required
    Call Service.SetCredentials("userid","password")
    'set SSL options
    Call Service.SetSSLOptions(NOTES_SSL_ACCEPT_SITE_CERTS + NOTES_SSL_ACCEPT_EXPIRED_CERTS)
3
leyrer 17 luty 2012, 12:18

Usługi WWW w LotusScript mają do siebie komponent Java podczas komunikacji (używa AXIS).

Może się zdarzyć, że będziesz musiał umieścić certyfikat w CACERTS. Wyjaśnia to następujący artykuł wiki.

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Connecting_to_a_Domino_server_over_SSL_in_Java_using_a_self_signed_certificate._

0
Simon O'Doherty 17 luty 2012, 12:54