Vb.net 未从wsdl获取异常的类定义
我们想与客户的web服务对话。他们给了我们一个Vb.net 未从wsdl获取异常的类定义,vb.net,web-services,soap,wsdl,Vb.net,Web Services,Soap,Wsdl,我们想与客户的web服务对话。他们给了我们一个WSDL。我只能使用传统的导入--Add>Service Reference>Advanced>Add Web Reference将其导入asp.net。尝试使用常规的Add>Service Reference会产生大量错误。(我猜这是因为这是用SOAP1.1完成的,而不是更新的东西,但我不知道。我从来没有用soap做过很多事情。) WSDL包含了它们可能发送的各种SOAP异常的类型定义。它们都被定义为“复杂类型” 但是当我导入时,这些定义都没有显示
WSDL
。我只能使用传统的导入--Add>Service Reference>Advanced>Add Web Reference将其导入asp.net。
尝试使用常规的Add>Service Reference
会产生大量错误。(我猜这是因为这是用SOAP1.1
完成的,而不是更新的东西,但我不知道。我从来没有用soap做过很多事情。)
WSDL包含了它们可能发送的各种SOAP
异常的类型定义。它们都被定义为“复杂类型”
但是当我导入时,这些定义都没有显示。它们不是VisualStudio中的自动完成下拉列表,如果我输入它们,就会出现“无此类”错误。我在同一个名称空间中查找消息中使用的所有类
我找错地方了吗?难道这些就不会出现吗
我必须手动重新创建这些类吗
更新
您询问尝试将什么错误导入为普通服务引用。这里是:(注:名称更改是因为客户对其专有代码的披露非常严格。)
Reference.svcmap:未能为服务引用生成代码
“福”。无法导入wsdl:portType详细信息:引发了异常
运行WSDL导入扩展时:
System.ServiceModel.Description.XmlSerializerMessageCompactImporter
错误:加载提供的XSD文档时出现问题:a
对名为“GetFoo”且命名空间为的架构类型的引用
无法解析“”,因为
在targetNamespace的架构中找不到类型定义
''. 请检查XSD文档
提供并重试。XPath到错误源:
//wsdl:definitions[@targetNamespace='']/wsdl:portType[@name='FooPortType_v2']
无法导入wsdl:绑定详细信息:导入时出错
wsdl:binding依赖的wsdl:portType。XPath到
wsdl:portType:
//wsdl:definitions[@targetNamespace='']/wsdl:portType[@name='FooPortType_v2']
XPath到错误源:
//wsdl:definitions[@targetNamespace='']/wsdl:binding[@name='FooBinding_v2']
无法导入wsdl:端口详细信息:导入端口时出错
wsdl:端口所依赖的wsdl:绑定。XPath到
wsdl:绑定:
//wsdl:definitions[@targetNamespace='']/wsdl:binding[@name='FooBinding_v2']
XPath到错误源:
//wsdl:definitions[@targetNamespace='']/wsdl:service[@name='FooService\u v2']/wsdl:port[@name='FooPort\u v2']App\u WebReferences/foo/
请注意,如果我使用遗留的
方法,因此它不仅仅是WSDL中的错误。问题是
复杂,因为WSDL有多个级别的包含和导入,
由其他复杂类型等组成的复杂类型
也许我问错问题了。也许问题应该是:为什么我可以用遗留导入导入这个WSDL,而不是用当前导入
也许我还应该注意到,我试图通过将WSDL复制到我的应用程序中来导入,然后通过指向此WSDL文件来执行添加服务。现在我还没有访问真正的网站,但是他们给了我一些文档和wsdl。你应该使用Add->Service引用创建代理,而不是作为web引用。WCF序列化将根据类型确定是否需要使用DataContractSerializer或XMLSerializer。你犯了什么错误?@Agalo我已经添加了错误文本。如果你知道这是什么原因,我会很高兴听到的。