VB.net 中的 WSDL 复杂类型重复属性

WSDL Complex Type repeating property in VB.net

提问人:bjg1993 提问时间:10/5/2023 更新时间:10/5/2023 访问量:16

问:

为我的术语道歉,我希望我在这里提供足够的信息。我正在 VB.net 工作,并加载了一个连接服务 URL,该 URL 拉入了一个 wsdl 文件。我需要在 wsdl 中定义的代码中填充的复杂类型对象之一名为 deliveryaddressType,它是非重复的,并且具有 5 个我可以设置的属性。其中四个属性很简单,需要单个字符串值。其中一个还需要字符串值,但该元素最多可以重复两次。这是我目前拥有的:

Dim DeliveryAddress As New deliveryaddressType

     DeliveryAddress.addressline(0) = "address line 1"
     DeliveryAddress.city = "city"
     DeliveryAddress.zip = "zip"
     DeliveryAddress.state = "state"
     DeliveryAddress.country = "USA"

因为 addressline 可能有 2 个值,所以它不会简单地让我设置 DeliveryAddress.addressline = “address line 1”。

我相信它可能期待一系列地址线属性?所以我尝试设置 addressline(0),其中我得到了一个“对象引用未设置为对象实例”。

deliveryAddressType 本身不应该是数组,但属性本身应该是?我是否需要以某种方式将 addressline 属性实例化为指定长度为 1 的数组,以便我可以设置 (0)?我是以正确的方式思考这个问题,还是我完全不对劲?

vb.net 服务 属性 WSDL 数组

评论


答:

0赞 bjg1993 10/5/2023 #1

好的,我相信在设置 addressline(0) 属性之前,我用以下代码行弄清楚了这一点。DeliveryAddress.addressline = 新字符串 (1) {}

Dim DeliveryAddress As New deliveryaddressType
DeliveryAddress.addressline = New String(1) {}

 DeliveryAddress.addressline(0) = "address line 1"
 DeliveryAddress.city = "city"
 DeliveryAddress.zip = "zip"
 DeliveryAddress.state = "state"
 DeliveryAddress.country = "USA"