我在尝试向Silverlight 4添加新的Web服务时收到此错误。我在数据访问对象层中打开了客户端,并具有调用服务的业务逻辑。显示的错误输出与Windows批处理文件运行有关,该运行应该生成调用新Web服务所需的文件。我已经到处寻找解决方案,我已经尝试将服务引用类型更改为通用列表,并根据另一个解决方案的指示取消选中“在通用程序集中重用类型”(通过右键单击解决方案资源管理器中的服务引用实例来定位复选框)在VS 2010中选择服务参考设置。) 错误:无法导入wsdl:binding和错误:无法导入wsdl:porttype继续显示。 任何输入都会非常感激。
尝试使用WS-Metadata Exchange或DISCO从'http:// localhost:64903 / Services / ServiceWcfS.svc'下载元数据。
错误:无法导入wsdl:portType
细节:运行WSDL导入扩展时抛出异常:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter 错误:无法导入名称空间“http://schemas.datacontract.org/2004/07/System.ComponentModel”中具有数据协定名称“PropertyChangedEventHandler”的ISerializable类型。无法为ISerializable类型自定义数据协定命名空间,并且生成的命名空间“AccessPoint.WcfServices.ServiceWcfS”与所需的CLR命名空间“System.ComponentModel”不匹配。检查所需的命名空间是否已映射到其他数据协定命名空间,并考虑使用命名空间集合显式映射它 XPath到错误源:// wsdl:definitions [@ targetNamespace ='http://tempuri.org'] / wsdl:portType [@ name ='IServiceWcfS']错误:无法导入wsdl:binding
详细信息:导入wsdl:binding依赖于的wsdl:portType时出错 XPath到wsdl:portType://wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:portType[@name='IServiceWcfS']
XPath到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:binding[@name='BasicHttpBinding_IServiceWcfS']
错误:无法导入wsdl:port
详细信息:导入wsdl:port所依赖的wsdl:binding时出错。
XPath到wsdl:binding://wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:binding[@name='BasicHttpBinding_IServiceWcfS']
XPath到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:service[@name='ServiceWcfS']/wsdl:port[@name='BasicHttpBinding_IServiceWcfS']
错误:未找到与Silverlight 4兼容的端点。生成的客户端类不会 除非通过构造函数提供端点信息,否则可以使用。
答案 0 :(得分:1)
我知道有点晚了,但我认为你的错误就在这里:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: ISerializable type with data contract name 'PropertyChangedEventHandler' in namespace...
PropertyChangedEventHandler
是委托类型,因此不可序列化,查找正在使用它的内容(数据合同或服务方法)并将其删除。