我将Visual Studio 2012中的VB.Net用于具有Web服务的项目,我根本无法更改。问题在于VB并未生成应生成的所有属性。
我将Web服务添加为参考服务。根据XSD,collectionRAEEDataType类应包含以下属性:接收方,referenceNumber,sigCode。但是,当我尝试访问它们时,未显示其中两个:sigCode和responsabilitySystemData。
我已经联系了Web服务的支持电子邮件,他们告诉我,是的,在Java服务中,该类是使用以下字段生成的:
public class CollectionRAEEDataType {
protected String sigCode;
protected RegisteredInfoDataType responsabilitySystemData;
...
}
但是在Reference.vb中,我得到了:
Partial Public Class collectionRAEEDataType
Inherits Object
Implements System.ComponentModel.INotifyPropertyChanged
Private itemField As Object
Private receiverField As receiverType
Private referenceNumberField As String
Private assignmentOfficeIdField As String
'''<remarks/>
<System.Xml.Serialization.XmlElementAttribute("responsabilitySystemData", GetType(registeredInfoDataType), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, Order:=0), _
System.Xml.Serialization.XmlElementAttribute("sigCode", GetType(collectionRAEEDataTypeSigCode), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, Order:=0)> _
Public Property Item() As Object
Get
Return Me.itemField
End Get
Set
Me.itemField = value
Me.RaisePropertyChanged("Item")
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute()> _
Public Property receiver() As receiverType
Get
Return Me.receiverField
End Get
Set
Me.receiverField = value
Me.RaisePropertyChanged("receiver")
End Set
End Property
...
如您所见,属性接收器还可以,但是responsabilitySystemData和sigCode不是属性。
你知道我该如何解决这个问题?
非常感谢。
答案 0 :(得分:0)
我回答自己。我必须使用所需的类型实例化Item字段,registeredInfoDataType或collectionRAEEDataTypeSigCode。
例如,
MyElement.Item = New registeredInfoDataType()
谢谢。