Mam serwis WWW Java i parametr do jednej metody Web jest niestandardowy typ JavaC# klienta do serwisu WWW Java - dane interoperacyjność problem
public class KeyList {
public Integer key;
public Integer[] nums ;
public Integer result;
}
Usługa Web aktualizuje wartość wynik i zwraca obiekt keylist do klienta.
Mam klienta C# do tej usługi sieci Web (generowane w Visual Studio, dodając Service Reference i wskazując adres URL pliku wsdl). Kiedy otrzymuję obiekt keyList w języku C#, pierwsza część (klucz Integer) jest wyświetlana jako 0. Jeśli zmienię typ niestandardowy Java, aby używał klucza int (zamiast klucza Integer) w typie KeyList, to działa on dobrze dla Klient C#.
Chciałem sprawdzić, czy wsdl drastycznie różni się między tymi dwoma przypadkami (używając int i Integer), ale okazuje się, że jedyną różnicą jest atrybut minOccurs.
podczas korzystania Integer kluczową
<xs:element name="key" type="xs:int" minOccurs="0" />
przy użyciu int klucz
<xs:element name="key" type="xs:int" />
Co jest przyczyną C# client nieprawidłowo otrzymaniu zaktualizowanej Integer wartości powrotnej z usługi? Nie trzeba dodawać, że tak czy inaczej działa on dla klienta Java.
Edit: C# klasy generowane przez VS dla keylist:
public class keylist: INotifyPropertyChanged {
private int keyField;
private bool keyFieldSpecified;
private int?[] numsField;
private PropertyChangedEventHandler PropertyChanged;
private int resultField;
private bool resultFieldSpecified;
public event PropertyChangedEventHandler PropertyChanged;
public keyList();
protected void RaisePropertyChanged(string propertyName);
[XmlElement(Form=XmlSchemaForm.Unqualified, Order=0)]
public int key { get; set; }
[XmlElement("nums", Form=XmlSchemaForm.Unqualified, IsNullable=true, Order=1)]
public int?[] nums { get; set; }
[XmlElement(Form=XmlSchemaForm.Unqualified, Order=2)]
public int result { get; set; }
[XmlIgnore]
public bool resultSpecified { get; set; }
}
To jest naprawdę pytanie w języku C#, a nie Java - twoje pytanie dotyczy przede wszystkim zachowania klienta C#, a nie języka Java. Retagging. – skaffman
Czy możesz opublikować klasę utworzoną dla studia wizualnego? – alun
Czy dokonano tego przy użyciu "Dodaj odniesienie do usługi" lub "Dodaj odniesienie do strony internetowej"? –