如何使用C#客户端调用Django/Python web服务(所有方法都返回null)?

4 投票
2 回答
1626 浏览
提问于 2025-04-15 17:40

我有一个用C#写的命令行客户端,我正在测试通过Django/Python/soaplib创建的WSDL来使用SOAP。我已经成功地通过添加服务引用连接到了这个网络服务。然后我调用了服务的一个方法,服务处理了我发送的数据,但它返回的是null,而不是我期待的整数。有没有什么办法可以让我得到一个不是null的响应呢?谢谢大家的帮助或建议!

2 个回答

0

我们在使用一个网络服务时遇到了类似的问题,返回的数据格式是UTF-16。

请检查一下你使用的数据类型是否正确。

0

你可以先用WebClient或者WebRequest/WebResponse来手动搭建一个代理。这样你就可以把想要的数据发送到Web服务进行测试。

在检查WSDL实现时,有几个地方需要注意:

  • WSDL的定义必须完全一致,包括大小写,这样C#的代理才能识别这些值。
  • 命名空间的定义也必须完全一致,包括末尾的斜杠。
  • 检查生成的代理的配置,确保它符合你想要的配置(比如,如果需要的话,可以是基本配置或无配置)。

如果你把生成的代理发给我们,我们可以帮你看看是否有什么不对劲的地方。

撰写回答