3

VB6 で MSXML2.ServerXMLHTTP.6.0 を使用した RPC

私が通信しているサーバーは SSL トラフ ポート 40052 と自己署名 CA を使用しています。投稿する前に約 2 日間機能させようとしました。誰かが助けてくれることを願っています。

私の問題は、Sendメソッドを呼び出すときです

SSL エラーが無視されない場合、無効な認証局と表示されます

SSL エラーが無視された場合、サーバーが無効または認識されていない応答を返したと表示されます

Dim strXml As String
Dim xmlLength As Integer

strXml = "<?xml version=""1.0""?><methodCall> " & _
                 "<methodName>somemethod</methodName> " & _
                 "<params> " & _
                 "<param><value><string>en</string></value></param>" & _
                 "<param><value><string>something</string></value></param>" & _
                 "<param><value><string>00000</string></value></param>" & _
                 "<param><value><string>000000000000000000000</string></value></param>" & _
                 "</params>" & _
                 "</methodCall>"
xmlLength = Len(strXml)

' object to communicate with
Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")

'since the server i am communicating with is using a self signed certificate authority
' I have to ignore all ssl errors.
xmlHttp.setOption 2, 13056 


' I set the friendlyname of my certificate just in case i have tried with and without
xmlHttp.setOption 3, "myrealfriendlynameofcrt"

' I open the connection with the server.
' the server is NOT USING 443 for ssl it's using 50042
xmlHttp.Open "POST", "https://hostname.com:50042", False

' I specify my content type
xmlHttp.SetRequestHeader "Content-Type", "text/xml"

' I specify my content length (I did try with this line and without)
xmlHttp.SetRequestHeader "Content-Length", xmlLength

' I send my request ( MY ERROR OCCURS HERE )
' IF SSL ERRORS NOT IGNORE IT SAYS INVALID CERTIFICATE AUTHORITY
' IF SSL ERRORS IGNORED IT SAYS THE SERVER RETURNED AN INVALID OR UNRECOGNIZED RESPONSE
xmlHttp.send strXml

If xmlHttp.Status >= 400 And xmlHttp.Status <= 599 Then
    Debug.Print "Error occured : " & xmlHttp.Status & " - " & xmlHttp.StatusText
Else
    Debug.Print xmlHttp.ResponseText
End If

Set xmlHttp = Nothing
4

0 に答える 0