Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python连接到WCF net.tcp协议_Python_Wcf - Fatal编程技术网

从Python连接到WCF net.tcp协议

从Python连接到WCF net.tcp协议,python,wcf,Python,Wcf,我正在使用soapi库suds,但不确定是否可以使用Python库来解决这个问题 首先,我连接到API client.Client("http://localhost:8003/mex") 连接后,我可以看到API中的每个方法,但问题是当我尝试调用一个方法时: client.service.MethodX() urllib2.URLError: <urlopen error unknown url type: net.tcp> client.service.MethodX() u

我正在使用soapi库suds,但不确定是否可以使用Python库来解决这个问题

首先,我连接到API

client.Client("http://localhost:8003/mex")
连接后,我可以看到API中的每个方法,但问题是当我尝试调用一个方法时:

client.service.MethodX()
urllib2.URLError: <urlopen error unknown url type: net.tcp>
client.service.MethodX()
urllib2.URLError:

我已经和提供者谈过了,在运行时,API是在net上公开的。tcp://localhost:8002/PublicAPI. 如果不创建一个用C语言开发的桥接器将数据发送到我的Python脚本,我就无法找到关于这个问题的解决方案。

首先,如果服务是使用
netcpbinding
公开的,那么您就无法使用基于SOAP的库来使用它,因为
net.tcp
使用二进制消息编码(消息不是以SOAP格式传输的)。此外(AFAIK)WCF的
net.tcp
不符合任何行业标准,是为.net应用程序之间的高性能通信而设计的,而不是为了互操作性。有鉴于此,我怀疑您能否以任何方式直接使用Python提供的服务。在这种情况下,可能的选项有:

  • 创建一个.NET网桥并从Python中使用它(正如您所提到的)
  • 请服务提供商使用ie.basicHttpBinding公开其他端点

  • 您可以要求提供程序启用http绑定吗?这只是提供程序的配置更改