I have the app. Here I generate client service from WSDL. Nowdays some functions work normal. But some are wrong.
It is a part from WSDL
<xs:complexType name="TStartInfoCalcZoneViewForArea">
<xs:sequence>
<xs:element minOccurs="0" name="ID" type="xs:int"/>
<xs:element minOccurs="0" name="startFreq" type="xs:double"/>
<xs:element minOccurs="0" name="endFreq" type="xs:double"/>
<xs:element minOccurs="0" name="startTime" type="xs:string"/>
It is a part in c#
public partial class TStartInfoCalcZoneViewForArea
{
private int idField;
private bool idFieldSpecified;
private double startFreqField;
private bool startFreqFieldSpecified;
private double endFreqField;
private bool endFreqFieldSpecified;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public int ID
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool IDSpecified
{
get
{
return this.idFieldSpecified;
}
set
{
this.idFieldSpecified = value;
}
}
I set value to this fields. For example
.ID = 100;
.IDSpecified = true; // I set nothing, false. But result is same.
The problem is that all this fields (ID,endFreq,startFreq) are null in gsoap server.
What is the reason of this problem? How can I fix it?
Update - the reason and solution
The problem was: I do not have the source code of the "gsoap server". But on the agreement in our company we use (can watch) the log from this application. This log was incorrect (First of all, there are no log messages in this situation. Then this messages were incorrect. After fix the problem was solved).
Also there are a lot classes and structures with "double" field. So in instances of some classes I set "...Specified = true;". In another cases I do not set "...Specified = true;". After the log was fixed, I see the problem.
So I need set "...Specified = true;" in all classes. I do not know is this solution correct, because
1) I ask another progammers in our company, but they do not know wcf normal.
2) set "...Specified = true;", but I see in log the same message.