更新: メソッド パラメーターで複雑な型を何らかの方法で送信する必要があると考えました - VBA でこれを行うにはどうすればよいですか?
VBA をコーディングするのはこれが初めてであり、問題を解決する方法について可能な限りの指針をいただければ幸いです。基本的に、私は小さな SOAP サービスを作成しましたが、正常に動作します - SoapUI でテストしました - だから、他のアプリケーションがそれを消費できるはずです。
サービスが生成する WSDL は hereです。おそらく、VBScript の SOAPClient で使用するのはあまり友好的ではありません。
実際にそれを使用するコードを少しまとめようとしています(以下のVBScript)-グーグルで見つけた例の上に構築しました。次のエラーが生成されます。
Incorrect number of parameters supplied for SOAP request HRESULT=0x80070057
Module Module1
Dim WSDLFileName As String
Dim base64attachment As String
Dim attachment_filename As String
Dim summary As String
Dim SoapClient
Dim res
Sub Main()
WSDLFileName = "http://localhost:7777/?wsdl"
base64attachment = "UG9ydG1hbiBpcyBwb3J0Zm9saW8gbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBoZWxwIFBNTyBrZWV"
attachment_filename = "test_file.txt"
summary = "test issue with summary"
SoapClient = CreateObject("MSSOAP.SoapClient30")
SoapClient.MSSoapInit(WSDLFileName)
res = SoapClient.CreateJiraIssueWithBase64Attachment(summary, base64attachment, attachment_filename)
Console.Out.WriteLine(res)
End Sub
End Module
任意のポインターが役立ちます、私はここで迷っています。
次のような応答が作成されるはずです。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:open="open.JiraAdapter">
<soapenv:Header/>
<soapenv:Body>
<open:CreateJiraIssueWithBase64Attachment>
<open:summary>some summary</open:summary>
<open:base64attachment>BASE64CODEDFILE</open:base64attachment>
<open:attachment_filename>NAME of the file attached</open:attachment_filename>
</open:CreateJiraIssueWithBase64Attachment>
</soapenv:Body>
</soapenv:Envelope>