Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 Visual Studio 2008导入的WSDL数据类型错误_Visual Studio 2008_Data Structures_Wsdl - Fatal编程技术网

Visual studio 2008 Visual Studio 2008导入的WSDL数据类型错误

Visual studio 2008 Visual Studio 2008导入的WSDL数据类型错误,visual-studio-2008,data-structures,wsdl,Visual Studio 2008,Data Structures,Wsdl,我试图使用一个web服务,因此使用该服务的WSDL服务描述向我的项目添加了一个web服务引用。一切正常,没有错误消息,但我注意到在我的web服务引用中有一个字段被声明为string,而它应该是int 查看WSDL服务描述时,我注意到相应的字段声明为: <xsd:complexType name="ItemType"> <xsd:all> <xsd:element name="quantity" type="xsd:integer"/>

我试图使用一个web服务,因此使用该服务的WSDL服务描述向我的项目添加了一个web服务引用。一切正常,没有错误消息,但我注意到在我的web服务引用中有一个字段被声明为
string
,而它应该是
int

查看WSDL服务描述时,我注意到相应的字段声明为:

<xsd:complexType name="ItemType">
    <xsd:all>
        <xsd:element name="quantity" type="xsd:integer"/>
    </xsd:all>
</xsd:complexType>

显然,字段应该是一个整数,但VisualStudio2008认为它是一个字符串

我的问题是:

  • xsd:integer
    是有效的WSDL数据类型还是不应该是
    xsd:int
  • 如何告诉VS 2008此字段应为
    int
  • 当我在C语言中提供一个
    字符串(仅包含数字),调用方(显然是一个PHP脚本)需要
    int
    时,我还能使用该服务吗

  • 谢谢你的帮助

    问题是:
    xs:integer
    是“任意长度的有符号整数”-因此它可能大于.NET Int32类型的范围-->因此VS2008将其转换为字符串

    使用
    xs:int
    ——我相信它正确地转换为Int32

    请看这里:

    xs:int
    映射到32位整数,而
    xs:integer
    具有任意长度

    当我提供一个字符串(仅限 包含数字)在C#中 调用者(显然是一个PHP脚本) 需要整数吗

    我会说是的,因为最终,通过网络传递的消息的核心将始终是文本XML。它实际上并不关心是否提供字符串“12345”并将其序列化到XML消息中,或者是否将“12345”作为INT序列化到消息中-在XML中,最终一切都是一个字符串


    Marc

    问题在于:
    xs:integer
    是“任意长度的有符号整数”-因此它可能大于.NET Int32类型的范围-->因此它被VS2008转换为字符串

    使用
    xs:int
    ——我相信它正确地转换为Int32

    请看这里:

    xs:int
    映射到32位整数,而
    xs:integer
    具有任意长度

    当我提供一个字符串(仅限 包含数字)在C#中 调用者(显然是一个PHP脚本) 需要整数吗

    我会说是的,因为最终,通过网络传递的消息的核心将始终是文本XML。它实际上并不关心是否提供字符串“12345”并将其序列化到XML消息中,或者是否将“12345”作为INT序列化到消息中-在XML中,最终一切都是一个字符串


    Marc

    谢谢-我会将此信息发布到web服务提供商。我是否仍然能够与web服务进行正确通信(请参见我的问题2)?谢谢-我会将此信息发布到web服务提供商。我是否仍然能够与web服务进行正确通信(请参见我的问题2)?