我正在尝试在我的.NET Web应用程序中实例化一个Web服务。但只要它碰到这一行:
registerService register = new registerService();
然后我收到以下错误:
无法生成临时类(result = 1)。错误CS0030:不能 将类型'Test.Website.ProxyTest.registerType []'转换为 'Test.Website.ProxyTest.registerType'
我没有写网络服务。但这是否意味着Web服务在某处出现错误(在XSD或其他什么地方)?
这是否意味着第三方开发人员需要修复此Web服务?
答案 0 :(得分:8)
这似乎是一个已知问题,详情可以是found here
原因: .NET Framework中包含的WSDL.EXE的已知问题可以 如果一个复杂的数组导致代理类生成错误 type包含一个元素,它也是一个复杂类型的数组 只存在一个元素
目前没有可用的解决方案,但有三个 可用的解决方法:
使用WSDL.EXE手动生成代理类,然后修改 代理类,其中数据类型已被不适当地创建为 二维数组(例如'CustomType [] []')并将其更正为a 一维数组(例如'CustomType []')。修改数据类型 所需的WSDL,以便包含第二个可选元素 定义。这可以通过添加诸如的元素来完成 ''。修改所需WSDL中的复杂类型 边界属性是复杂类型的一部分而不是 元素(即将“minOccurs”和“maxOccurs”属性移动到 复杂类型并从元素中删除它们。