首页 新闻 会员 周边 捐助

c#怎么写调用python webservice的客户端

0
悬赏园豆:50 [已解决问题] 解决于 2017-10-19 17:11

C#比较苦手,自己也查了不少,比较小白看不懂,还请各位大神指点一二,下面是我用python的suds的库访问的webservice这是用SUDS的简单客户端访问

a5966118的主页 a5966118 | 初学一级 | 园豆:157
提问于:2017-10-10 17:01
< >
分享
最佳答案
0

现在的VS,添加webservice引用已经是WCF的方式了。

会自动生成xxxClient 类,  new 一个 Client,传入request参数就好了。

收获园豆:50
刀是什么样的刀 | 小虾三级 |园豆:910 | 2017-10-18 07:54

C#怎么参数成方法了???Python直接调的话参数就是string为什么C#和Python调用方法都变了,Python还是String,C#成了方法,该怎么处理

a5966118 | 园豆:157 (初学一级) | 2017-10-19 15:21

@a5966118:

python C# 里面都是sendComfirmInfo方法。 区别应该是参数不一样:

python参数是jmXML变量,  变量类型是字符串

C# 的参数被包装成一个对象。这个对象应该有字符串属性。所以你可以new这个对象,然后把字符串复制给对象的属性。

var info =  new SendComfirmInfo { Value=  "字符串参数"};

sendweb1.sendComfirmInfo(info);

这里的生成的属性名,可能不是Value,你要自己看一下。

刀是什么样的刀 | 园豆:910 (小虾三级) | 2017-10-19 16:30

值该怎么取呢@刀是什么样的刀: 谢谢大佬,但是值该怎么取呢不能强转也不能点出来,之前没有接触过C#,硬着头皮搞

a5966118 | 园豆:157 (初学一级) | 2017-10-19 16:50

@刀是什么样的刀: 

a5966118 | 园豆:157 (初学一级) | 2017-10-19 16:51

@刀是什么样的刀: 已经通了,谢谢大佬

a5966118 | 园豆:157 (初学一级) | 2017-10-19 17:10

@刀是什么样的刀: 大佬,我有相识的问题想请教你——C#引用spyne生成的webservice,用的是spyne官网给的helloworld的例子,为什么实例化之后使用的时候出错呢?

淡水鱼徜徉在大海 | 园豆:180 (初学一级) | 2018-06-10 22:54

@淡水鱼徜徉在大海: 

这是编译错误。你需要先new 一个对象,传到方法里面去。

var hello = new HelloTest.say_hello();  

//这里设置hello的属性

HW.say_hello(hello);

 

 

刀是什么样的刀 | 园豆:910 (小虾三级) | 2018-06-11 09:31

@刀是什么样的刀: 非常谢谢你,已经解决了,的确是你说的这个步骤。

后来我自己写了一个两数相加的函数,新建对象后可以直接设置属性。

之前可能是say_hello本身的问题,导致var hello = new HelloTest.say_hello();  之后,输入

hello.之后没有出现相关的属性,所以不知道怎么设置hello的属性。

淡水鱼徜徉在大海 | 园豆:180 (初学一级) | 2018-06-11 17:05
其他回答(2)
0

 根据wsdl地址自动生成本地代理呀(服务引用),如果还不行,就自己拼装http请求,然后再自己解析返回的http body。不过我觉得应该没这么惨吧。添加引用试试。

另外,webservice客户端是什么意思,webservice难道不是应该是服务端的吗

会长 | 园豆:12463 (专家六级) | 2017-10-10 17:21

我之前用了服务引用和web服务引用,不知道怎么传数据,C#太苦手了,完全不知道该怎么用.之前我是写安卓的,可能程序水平偏低吧,python也是自学的,webservice客户端就是webservice的客户端负责向webservice发送数据,我之前没有描述清楚,应该是客户端才是

支持(0) 反对(0) a5966118 | 园豆:157 (初学一级) | 2017-10-10 17:29
0

在项目里点右键引用.把wsdl地址填进去.

就会自动生成代理.然后你new一个代理类client就可以点出来方法调用了.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-10-10 17:42

我是看别人的博客写的webservice,没有Client方法,调用也是问题内发的图调用的,我点了resultinfo方法,却不能传参数不知道为什么

支持(0) 反对(0) a5966118 | 园豆:157 (初学一级) | 2017-10-10 17:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册