- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 Silverlight 应用程序,它通过 WCF 服务与服务器端的 ADO.Net 数据实体通信。实际上,我正在使用多个 WCF 服务与三个不同的数据 ADO.Net 数据实体进行通信。我最初是在 Visual Studio 2010 上构建这个项目,大约一周前最近转移到 Visual Studio Professional 2012(试用版)。最初一切工作/移植都很好,直到大约一个小时前我对服务没有任何问题。不到一个小时前,我实际上在我的代码中使用了这些相同的 WCF 服务。但是,当我添加一个方法将 xml 字符串插入我的数据库时,出现了这个错误:
Content Type text/xml; charset=utf-8 was not supported by service . The client and service bindings may be mismatched.
但我检查了绑定(bind),据我从 ServiceReferences.ClientConfig 文件中得知,它们是 basicHttpBinding。我四处寻找解决方案,我唯一能找到的建议是删除服务引用并在重新启动 Visual Studio 后读取它,所以我终于尝试了,但是现在,即使在删除了我添加的方法之后,我现在也会收到此错误我尝试在客户端添加服务引用:
Warning 6 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Exception has been thrown by the target of an invocation.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 7 Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXMonitorXMLDataService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 8 Custom tool warning: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_IXMonitorXMLDataService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:service[@name='XMonitorXMLDataService']/wsdl:port[@name='BasicHttpBinding_IXMonitorXMLDataService'] C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 9 Custom tool warning: No endpoints compatible with Silverlight 5 were found. The generated client class will not be usable unless endpoint information is provided via the constructor. C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
Warning 10 Custom tool warning: Exception has been thrown by the target of an invocation. C:\Users\ckarrs\Documents\Visual Studio 11\Projects\SL_xMonitor_Frontend_RefactorV1_Backup82212\SL_xMonitor_Frontend_RefactorV1\Service References\XMonitorXMLDataService\Reference.svcmap 1 1 SL_xMonitor_Frontend_RefactorV1
我很困惑。其他服务引用保持不变,并且该服务完全正常工作,直到我尝试添加到它并更新引用。这是 VS 2010 和 2012 之间的兼容性问题吗? MSDN 网站称 VS 2012 向后兼容 VS 2010,一切似乎都可以正常迁移。非常感谢任何帮助,我很困惑。如果需要其他信息,请告诉我。
最佳答案
我不是 WCF 方面的专家,但我了解 .net Web 服务和 WSDL,因此如果信息与 WCF 无关,请更正。
错误提示:运行 WSDL 导入扩展时抛出异常
。这意味着,VS 无法正确读取服务 WSDL 文件,也无法创建它需要的代理客户端类,以便进行服务调用。
因为引用 Web 服务的 .net 应用程序会自动获取 WSDL,有时它不是它所期望的,这会导致麻烦。有一种方法可以配置 WSDL 文件的生成方式,但实现起来并不容易 (read more here)
尝试通过在浏览器中的服务 URL 后键入 ?wsdl
query 来获取 WSDL 文件,并查看其中的内容。如果服务器在代理服务器后面,这可能会导致问题。在 WSDL 文件的末尾,您将找到“绑定(bind)”、“端点”和“端口”标签/属性。
根据您发布的错误消息,WSDL 不符合预期的架构,并且解析失败。
一个简单的解决方法是,如果您可以访问服务器,将生成的 WSDL 文件保存在服务所在的同一目录中,根据需要修改 WSDL 文件,并添加对客户端应用程序中修改后的 WSDL 文件。当然,这有一个副作用,即每次更改服务定义时文件都会不同步。所以如果你打算在未来大量改变这些方法,也许更好的是改变/修复自动 WSDL generation .
关于c# - 无法在 Silverlight 应用程序中使用 WCF 导入 wsdl :portType, wsdl :binding, wsdl:port 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12184771/
我不确定这是什么错误。以为我会问你们在堆栈溢出的那是什么。我必须在我使用的测试客户端上更改服务契约(Contract),然后更新服务引用。现在,我收到此警告。我该如何解决此特定问题。 最佳答案 我在W
我使用了 axis Web 服务客户端向导 + 开发客户端 slider 来生成文件: Mage_Api_Model_Server_HandlerBindingStub Mage_Api_Model_
我有一个 WSDL,其中缺少 portType-operation-input-name。其他一切都很好。我正在使用 CXF 从 Ant 任务中使用 WSDL2JAVA。
我使用 JAXWS 生成了一个 Web 服务客户端。我注意到在使用 JAXWS 客户端时,实例化 Service 和 *PortType 类需要一段时间。因此,每次需要发出请求时实例化 Service
我无法在 VS 2010 或 2012 中获得 Add Service Reference 以用于基于 ServiceStack 构建的 Web 服务。我已关注 guide在 github 上,包括将
我必须在我的 .net 应用程序中集成几个现有的网络服务。但不幸的是,调用 svcutil 工具会导致错误消息: Microsoft (R) 服务模型元数据工具[Microsoft (R) Windo
两者都是 和 似乎定义了一个操作及其消息。不太明白,为什么两者都是必要的? 最佳答案 portType(类似于 Java 接口(interface)) PortType 是 WSDL 的抽象部分。 一
在 wsdl manual 中,在示例 2 的第二部分中,有一个 wsdl 文件具有 portType,但没有 binding block
我在使用 SVCUtil 为 WCF 生成代理时遇到错误。错误是 Attempting to download metadata from 'net.pipe://localhost/WebServi
我在解决方案中创建了一个 WCF 服务库项目,并拥有对此的服务引用。我使用类库中的服务,因此除了类库之外,我还引用了 WPF 应用程序项目中的内容。服务设置直接 - 仅更改以获得异步服务功能。 一切都
我有一个 Silverlight 应用程序,它通过 WCF 服务与服务器端的 ADO.Net 数据实体通信。实际上,我正在使用多个 WCF 服务与三个不同的数据 ADO.Net 数据实体进行通信。我最
我是一名优秀的程序员,十分优秀!