none
Soap request different in Windows 7 and Windows 8.1 Pro, enumeration RRS feed

  • General discussion

  • I have a C++ application that uses a web service. The application generates different requests to the web service depending on version of the webservices.dll.

     

    Windows 7: webservices.dll version 6.1.7601.17514

    Windows 8.1 Pro: webservices.dll version 6.3.9600.17415

     

    Example:

    Request on Windows 7:

         <headers>

              <cv>true</cv>

              <df>yyyymmdd</df>

         </headers>

         <instruments>

              <instrument>

                   <id>XYZ</id>

              </instrument>

         </instruments>

    Request on Windows 8.1 Pro:

         <headers>

              <cv>true</cv>

              <df>yyyymmdd</df>

              <programflag> </programflag>

              <diffflag> </diffflag>

         </headers>

         <instruments>

              <instrument>

                   <id>XYZ</id>

              </instrument>

         </instruments>

    The fields programflag and diffflag are included in the Windows 8.1 Pro request but not in the Windows 7 request. programflag anc diffflag where not set but are still included in the Windows 8.1 Pro request.

    I have noticed that both programflag and diffflag are enumerations. For example diffflag looks like this in the .wsdl:

    <xs:element maxOccurs="1" minOccurs="0" name="diffflag" type="DiffFlag"/>

    <xs:simpleType name="DiffFlag">

         <xs:restriction base="xs:string">

              <xs:enumeration value=" "/>

              <xs:enumeration value="yes"/>

              <xs:enumeration value="no"/>

              <xs:enumeration value="changes"/>

         </xs:restriction>

    </xs:simpleType>

    Why are the enumerations included in the Windows 8.1 Pro request even if they are not set? What can I do to not include them? 

     

    Sunday, December 6, 2015 11:06 AM