Types 在C语言中的多个wsdl引用之间共享类型#

Types 在C语言中的多个wsdl引用之间共享类型#,types,namespaces,xsd,wsdl,share,Types,Namespaces,Xsd,Wsdl,Share,我正在尝试使用此wsdl: 问题是,当将对wsdl的引用添加到C#项目中时,会为相同的xsd类型(如Cabecalhortransacao)创建不同的名称空间,因此当使用时应如下所示: 金丝雀 这是一个很好的例子 我怎样才能不转换就解决这个问题呢?有可能吗?有可能。这就是我要做的,基于我对你指的东西的了解程度 首先,我将从您描述的页面中收集并下载所有WSDL/XSD引用,以找出公共集(哪些服务/版本共享哪些XSD)。加载它们后,我可以看到成群的鱼(鲑鱼的颜色是WSDLs,灰色是XSD) 所

我正在尝试使用此wsdl: 问题是,当将对wsdl的引用添加到C#项目中时,会为相同的xsd类型(如Cabecalhortransacao)创建不同的名称空间,因此当使用时应如下所示:

  • 金丝雀
  • 这是一个很好的例子

我怎样才能不转换就解决这个问题呢?有可能吗?

有可能。这就是我要做的,基于我对你指的东西的了解程度

首先,我将从您描述的页面中收集并下载所有WSDL/XSD引用,以找出公共集(哪些服务/版本共享哪些XSD)。加载它们后,我可以看到成群的鱼(鲑鱼的颜色是WSDLs,灰色是XSD)

所以,你有5个主要群体。显然,在打包方面,所有绑定到同一组XSD的WSDL都应该展示您所寻找的类型的共享

下一步是定义如下所示的WSDL:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- WSDL 1.1 generated by QTAssistant (http://www.paschidev.com) -->
<definitions name="aggregate" targetNamespace="urn:tempuri-org"  xmlns="http://schemas.xmlsoap.org/wsdl/">
    <import namespace="http://www.ans.gov.br/tiss/ws/tipos/tissLoteGuias/v20202" location="tissLoteGuiasV2_02_02.wsdl"/>
    <import namespace="http://www.ans.gov.br/tiss/ws/tipos/tissSolicitacaoStatusProtocolo/v20202" location="tissSolicitacaoStatusProtocoloV2_02_02.wsdl"/>
</definitions>

注意:如果用于位置的相对URI不适用于您,请尝试使用绝对URI(如果您希望在自己的机器上创建此WSDL,并在远程服务器上指向WSDL位置,则更应如此)。继续添加您需要的任何wsdl,我只添加了两个用于说明

无论如何,一旦完成,启动您的VisualStudio,并在您的项目中添加对您刚刚创建的WSDL的服务引用(正如@JohnSaunders在他的评论中所说)。确保您首先验证您的WSDL,以确保您删除了一些内容


生成的代码现在为您提供了通用类型,这样您就可以通过将内容从一个传递到另一个等方式轻松地编排这些服务的调用。

添加Web引用,还是添加服务引用?