В настоящее время я использую веб-службу SAP, но единственный объект, который возвращается со значениями, это объекты без дочерних элементов.
Я не имею никакого влияния на настройку веб-службы SAP, поэтому понятия не имею,это правильно, они просто прислали мне ссылку и XML, который выглядит нормально.
Мне пришлось зайти в Reference.cs и изменить класс из-за свойства, названного System, как показано ниже, но как функциякажется, работает, я не думаю, что это имеет какое-либо отношение к проблеме:
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
до
[System.Xml.Serialization.XmlElementAttribute(Form=global::System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
Я попытался изменить веб-конфигурацию, чтобы увидеть, были ли параметры привязкиосуществляя это.Я попытался изменить Тип коллекции в конфигурации веб-службы, чтобы использовать System.Array, Generic Lists.
Классы, которые не работают, выглядят так:
[System.Xml.Serialization.XmlArrayAttribute(Form= System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
[System.Xml.Serialization.XmlArrayItemAttribute("item", Form= System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
public Humans[] People{
get {
return this.crowd;
}
set {
this.crowd= value;
this.RaisePropertyChanged("Humans");
}
}
Один классэто действительно работает, выглядит так:
[System.Xml.Serialization.XmlElementAttribute( Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
public HandShake Return {
get {
return this.returnField;
}
set {
this.returnField = value;
this.RaisePropertyChanged("Return");
}
}
и XML выглядит так:
<n0:SAPFunction>
<Humans>
<item>
<name>Joe</name>
<age>13</age>
<town>The Shire</town>
</item>
<item>...</item>
</Humans>
<Return>
<Id>0</Id>
<Message>People Found</Message>
<System/>
</Return>
</n0:SAPFunction>
Так что в основном у всех классов Array должны быть элементы, но я просто получаю загрузку пустых массивови класс HandShake со значениями возвращаемого сообщения.
подумайте, пожалуйста?
Так что XML, который команда SAP отправляет мне, когда я делаю вызов, выглядит хорошо, но любой класс, который ожидает элементы, например
[System.Xml.Serialization.XmlArrayItemAttribute("item", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
просто не работает.классы созданы, но у них нет элементов.