Обработка ошибок вызова API на основе SOAP DocuSign

Я использую вызовы API на основе SOAP для создания конверта DocuSign. Я могу создать конверт, но в случае отсутствия тега для получателя или чего-то еще, я не могу получить правильное сообщение об ошибке из вызова API. Вот мой код.

Dim client As New DocuSignServ.DSAPIServiceSoapClient
                Using scope As System.ServiceModel.OperationContextScope = New System.ServiceModel.OperationContextScope(client.InnerChannel)
                    SetHttpHeader()
                    Try
                        status = client.CreateAndSendEnvelope(newennvelope)
                        Session("status") = status
                        env.ID = status.EnvelopeID
                        envelopeid = env.ID
                    Catch ex2 As System.ServiceModel.FaultException
                        errormsg = "Error occured while creating an envelope into DocuSign account<br>Error Details : " & ex2.InnerException.Message.ToString
                    Catch ex As Exception

                        errormsg = "Error occured while creating an envelope into DocuSign account<br>Error Details : " & ex.Message.ToString
                    End Try
                End Using

Пожалуйста, порекомендуйте,

Спасибо


person user2858740    schedule 18.12.2013    source источник
comment
Пожалуйста, поясните, что вы имеете в виду, когда говорите, если тег отсутствует. Я не понимаю, какую проблему или рабочий процесс вы пытаетесь решить ...   -  person Ergin    schedule 18.12.2013
comment
Я имел в виду, что в случае возникновения ошибки при создании конверта, как мне получить подробную информацию об ошибке с кодом состояния? В настоящее время всякий раз, когда возникает ошибка при создании конверта, я получаю общее сообщение об ошибке от DocuSign Недействительное имя пользователя или пароль. Я хотел бы получить подробную информацию о сообщении об ошибке, чтобы исправить ошибку.   -  person user2858740    schedule 18.12.2013


Ответы (1)


Если вы посмотрите на WSDL для службы DocuSign SOAP, вы увидите, что есть элемент ошибки, который указывает ErrorCode и Message.

<s:complexType name="ErrorDetails">
<s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string"/>
</s:sequence>
</s:complexType>

Вам просто нужно проанализировать этот XML, чтобы получить код и описание ошибки.

DocuSign WSDL

person Ergin    schedule 18.12.2013
comment
Я и раньше проверял WSDL, но не смог найти способ сослаться на элемент ошибки из вызова API, который я использую для создания конверта. Я использую метод CreateandSendEnvelope для создания конверта, который возвращает DocuSignEnvelopeStatus, из которого я не могу сослаться на элемент ошибки. - person user2858740; 19.12.2013