2015-11-30 2 views
1

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

Я перевел пример кода 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 

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

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

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); 
    } 
} 
+0

Вам нужно передать объект типа, который реализует 'IOffAmazonPaymentsService'; ваш проект включает такой класс? –

+0

@TiesonT. -в вас .. да, у меня есть DLL OffAmazonPaymentsService, добавленный в качестве ссылки в моем проекте, и ссылки распознаются. Я думаю, что вы правы в вызове объекта. Я просто не могу понять правильный формат или синтаксис, чтобы правильно позвонить. –

+0

Быть ясным .. это ??? ??? ??? часть я не знаю, как форматировать или использовать ... Я знаю, как передать другие параметры для функции. Я использовал/построил funciton в vb.net раньше ... но параметр paramater меня сбивает с толку. –

ответ

0

Отказ от ответственности: мой 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 values set (web.config или app.config при необходимости), вот где OffAmazonPaymentsServicePropertyCollection.getInstance() получит значения

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

Hth ....