将soap请求发送到wsdl网站



如何从网站获取请求?我发现:http://www.yodaspeak.co.uk/webservice/yodatalk.php?wsdl

但我可以想出如何向它发送请求并得到响应。

到目前为止,我已经尝试过:

import requests

yoda_params = {"inputText": 'Is this working?'}
yoda_url = 'http://www.yodaspeak.co.uk/webservice/yodatalk.php?'
yoda_re = requests.get(yoda_url, params=yoda_params)
yoda_text = yoda_re.json()
print(yoda_text)

但这并没有奏效。

Name: yodaTalk
Binding: http://www.yodaspeak.co.uk/webservice/yodatalkBinding
Endpoint: http://www.yodaspeak.co.uk/webservice/yodatalk.php
SoapAction: uri:http://www.yodaspeak.co.uk/webservice/yodatalk#yodaTalk
Style: rpc
Input:
use: literal
namespace: uri:http://www.yodaspeak.co.uk/webservice/yodatalk
encodingStyle:
message: yodaTalkRequest
parts:
inputText: xsd:string
Output:
use: literal
namespace: uri:http://www.yodaspeak.co.uk/webservice/yodatalk
encodingStyle:
message: yodaTalkResponse
parts:
return: xsd:string
Namespace: uri:http://www.yodaspeak.co.uk/webservice/yodatalk
Transport: http://schemas.xmlsoap.org/soap/http
Documentation: Pass any string and it will be returned as Yoda-Speak.

我在尝试将InputText=Something放入url 时也错误地发现了这一点

更新:

我试过使用zeep,但当我运行python -mzeep 'http://www.yodaspeak.co.uk/webservice/yodatalk.php?wsdl时,我得到:

No namespace defined for 'http' ('http://www.yodaspeak.co.uk/webservice/yodatalkPortType')

尝试使用任何soap库(例如zeep(。http://www.yodaspeak.co.uk/webservice/yodatalk.php?wsdl中有wsdl,所以我想这是关于soap使用的。

最新更新