пытаюсь использовать клиента DocuSign .Net для запроса подписи на документе, который я создаю динамически. До сих пор я мог изменить пример на vb.net, и он работает (Exmaple CS). Я конвертировал «Пошаговое руководство №4 - запрос на подпись в документе», примерно на 1/2 пути вниз по коду. Теперь я пытаюсь использовать Envelope.Document, который я видел в других примерах, например, DocuSign example. Но это похоже. Документ не является частью конверта, даже думал, что остальная часть кода в обоих примерах переводится на vb.Запросить подпись Docusign Rest API vb.net
Моим другим вариантом является использование Envelope.AddDocument, но я не могу понять, что он ожидает. Я должен передать fileBytes() как Byte, fileName как String и индекс As Integer. Я попробовал несколько разных методов, чтобы получить файлBytes, но продолжаю получать сообщение об ошибке Invalid_Content_Type. Тип контента не поддерживается.
Вот код, который я пытался. Любая помощь в том, как добавить документ в конверт, будет оценена по достоинству. В конечном итоге я хочу иметь возможность добавлять несколько документов в один конверт. Я могу заставить env.Create (docPath) работать, но это не помогает. Благодарим вас за любую помощь, которую вы можете предложить.
Public Function RequestEsignature(email As String, rName As String, docPath As String, strSubject As String) As String
main()
Dim AccountEmail = My.Settings.docusignUserName
Dim AccountPassword = My.Settings.docusignPassword
Dim RecipientEmail = email
Dim RecipientName = rName
Dim documentPath = docPath
Dim msgString As String
Dim acct As Account = New Account()
acct.Email = AccountEmail
acct.Password = AccountPassword
Dim result As Boolean = acct.Login()
If Not result Then
msgString = String.Format("There was an error logging in to DocuSign fo user {0}.\nError Code: {1}\nMessage: {2}", acct.Email, acct.RestError.errorCode, acct.RestError.message)
MsgBox(msgString)
Return Nothing
End If
Dim env As Envelope = New Envelope
env.Login = acct
env.Recipients = New Recipients()
Dim signer(0) As Signer
signer(0) = New Signer()
signer(0).email = email
signer(0).name = RecipientName
signer(0).routingOrder = "1"
signer(0).recipientId = "1"
env.Recipients.signers = signer
Dim envDocs = New Document()
envDocs.documentId = "1"
envDocs.name = "Test Document"
envDocs.uri = docPath
'Dim fileBytes As Byte()
'Dim fileBytes = getByteArrayII(documentPath)
'Dim oFile As FileInfo
'oFile = New FileInfo(documentPath)
'Dim oFileStream As FileStream = oFile.OpenRead()
'Dim lBytes As Long = oFileStream.Length
'If lBytes > 0 Then
' Dim fileData(lBytes - 1) As Byte
' oFileStream.Read(fileData, 0, lBytes)
'If Not env.AddDocument(fileBytes, documentPath, 0) Then
' msgString = String.Format("The was an Error adding the Document." & vbCrLf & "Error Code: {0} " & vbCrLf & "Message: {1}", env.RestError.errorCode, env.RestError.message)
' MsgBox(msgString)
' Return Nothing
'Else
' MsgBox("Doc Successfully Added")
'End If
'oFileStream.Close()
'End If
env.Status = "sent"
env.EmailSubject = strSubject
result = env.Create()
If Not result Then
If Not IsNothing(env.RestError) Then
msgString = String.Format("Error Code: {0}\nMessage: {1}", env.RestError.errorCode, env.RestError.message)
MsgBox(msgString)
Return Nothing
Else
MsgBox("There was a nondescript error while processing this request. \nPLease verify all information is correct before trying again.")
Return Nothing
End If
Else
Return env.EnvelopeId
End If
End Function
Private Function getByteArray(fileName As String) As Byte()
Dim fInfo As New FileInfo(fileName)
Dim numBytes As Long = fInfo.Length
Dim fStream As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim br As New BinaryReader(fStream)
Dim data As Byte() = br.ReadBytes(CInt(numBytes))
br.Close()
fStream.Close()
Return data
End Function
Private Function getByteArrayII(ByVal fileName As String) As Byte()
Dim tempByte() As Byte = Nothing
If String.IsNullOrEmpty(fileName) Then
Throw New ArgumentNullException("FileName Not Provided")
Return Nothing
End If
Try
Dim fileInfo As New FileInfo(fileName)
Dim numBytes As Long = fileInfo.Length
Dim fStream As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim binaryReader As New BinaryReader(fStream)
tempByte = binaryReader.ReadBytes(Convert.ToInt32(numBytes))
fileInfo = Nothing
numBytes = 0
fStream.Close()
fStream.Dispose()
Return tempByte
Catch ex As Exception
Return Nothing
End Try
End Function
ИСТОРИЯ Я новичок в vb.net и программирования. До сих пор я смог создать программу, которая позволяет пользователям вводить информацию о клиенте с изменяемыми формами на основе определенных выборов. У нас есть система, которая использует наши данные SQL для слияния почты в Word, а затем отправляет PDF-код для оповещения клиента через DocuSign. Мы используем бэкэнд SQL и внешний интерфейс vb.net.
Наконец, я искал ответ в выходные, и теперь я обращаюсь за помощью. Я искал google для всех возможных терминов (терминов), которые я могу думать, чтобы включить/исключить. Если я спрашиваю публично, что это действительно означает, что я исчерпал каждый ресурс, который у меня есть. Пожалуйста, не публикуйте ссылки на любую документацию DocuSign, поскольку я уже посетил все эти сайты. Спасибо.
У вас возникли какие-либо ошибки? Являются ли они во время компиляции или времени выполнения? Кто они такие? В какой строке они происходят? –