Правильный синтаксис для параметров в вызове функции VB

Я разрабатывал в прошлом на VB.net, и я просто не могу понять, как правильно вызвать эту функцию и как получить ответ, чтобы я мог отобразить его на ответ веб-страницы.

Я перевел пример кода C# на VB. Вот мой код для страницы aspx, которую я хочу использовать, чтобы сделать запрос, а затем отобразить ответ на моей странице:

Imports OffAmazonPaymentsService
Imports OffAmazonPaymentsService.Model

Public Class WebForm1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write(GetOrderReferenceDetails(???service???, "asdfsadf", "asdfsadf", "asdfasdf"))

    End Sub
    Private Shared Function GetOrderReferenceDetails(service As IOffAmazonPaymentsService, sellerId As String, amazonOrderReferenceId As String, addressConsentToken As String) As GetOrderReferenceDetailsResponse
        ' Required parameters
        Dim request As New GetOrderReferenceDetailsRequest()
        request.SellerId = sellerId
        request.AmazonOrderReferenceId = amazonOrderReferenceId

        ' Optional parameters
        request.AddressConsentToken = addressConsentToken

        Return service.GetOrderReferenceDetails(request)
    End Function
End Class

Я не знаю, как вызвать первый (сервисный) параметр этой функции и затем отобразить содержимое ответа.

Дайте мне знать, если мой вопрос недостаточно ясен. вот пример, который они дали в c резком формате....

using OffAmazonPaymentsService;
using OffAmazonPaymentsService.Model;

public class GetOrderReferenceDetailsSample
{
    /**
     * Sample GetOrderReferenceDetails method that takes generic inputs, constructs a request object,
     * and make a call to the service.
     */
    private static GetOrderReferenceDetailsResponse GetOrderReferenceDetails(
        IOffAmazonPaymentsService service,
        string sellerId,
        string amazonOrderReferenceId,
        string addressConsentToken)
    {
        // Required parameters
        GetOrderReferenceDetailsRequest request = new GetOrderReferenceDetailsRequest();
        request.SellerId = sellerId;
        request.AmazonOrderReferenceId = amazonOrderReferenceId;

        // Optional parameters
        request.AddressConsentToken = addressConsentToken;

        return service.GetOrderReferenceDetails(request);
    }
}

1 ответ

Отказ от ответственности: мой VB "ржавый", поэтому отлаживайте и улучшайте по мере необходимости

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

        Dim props As OffAmazonPaymentsServicePropertyCollection = OffAmazonPaymentsServicePropertyCollection.getInstance()
        Dim client As New OffAmazonPaymentsServiceClient(props)
        Dim result as GetOrderReferenceDetailsResponse = GetAmzOrderRef(client, props, "oref", "token")

End Sub


Private Shared Function GetAmzOrderRef(service As IOffAmazonPaymentsService, props As OffAmazonPaymentsServicePropertyCollection, amazonOrderReferenceId As String, addressConsentToken As String) As GetOrderReferenceDetailsResponse

        Dim request as New GetOrderReferenceDetailsRequest()
        With request
            .SellerId = props.MerchantID
            .AmazonOrderReferenceId = amazonOrderReferenceId
            .AddressConsentToken = addressConsentToken
        End With
        Return service.GetOrderReferenceDetails(request)

End Function

Заметки:

  • ты должен иметь свой config значения установлены (web.config или же app.config по необходимости) вот где OffAmazonPaymentsServicePropertyCollection.getInstance() будет получать значения

  • приведенный выше пример кода завершится неудачно (как и ожидалось) из-за фиктивных значений для ссылочного идентификатора и токена, но эта "ошибка" происходит из Amazon API (уже) - например, ошибка ответа "неверный ссылочный идентификатор" или "неверный токен" и т. д...

Hth....

Другие вопросы по тегам