Ошибка при использовании клиента C # SOAP с мыльным сервером Python Spyne - PullRequest
0 голосов
/ 08 мая 2019

Мне нужен VS2019 для создания клиента C # для подключения к серверу веб-служб Spyne / Python. После добавления файла WSDL и добавления команды для получения данных VS помечает строку следующим образом: Ошибка CS1503 Аргумент 1: невозможно преобразовать из 'int' в 'ConsoleApp1.WS1.say_hello' ConsoleApp1 Что бы я ни делал, я не могу избавиться от ошибки.

Снимок экрана: https://1drv.ms/u/s!AkvXYjF0tTGuqAJwoPaHd2kNqPX-

Файл веб-сервера Spyne / Python прост. Все, что он делает, это получает число и умножает его на 2. Я проверил, что сервер работает с использованием мыльного клиента Python / zeep.

# http://spyne.io/docs/2.10/manual/02_helloworld.html#manual-helloworld
import logging
logging.basicConfig(level=logging.DEBUG)
logging.getLogger('spyne.protocol.xml').setLevel(logging.DEBUG)
from spyne import Application, srpc, rpc, ServiceBase, Integer, Unicode
from spyne import Iterable
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication

class HelloWorldService(ServiceBase):
    @srpc(int, _returns=Iterable(int) )
    def say_hello(times):
        yield times * 2
        print()

application = Application([HelloWorldService],
    tns='spyne.hello.soap',
    in_protocol=Soap11(validator='lxml'),
    out_protocol=Soap11()
)

if __name__ == '__main__':
    from wsgiref.simple_server import make_server

    wsgi_app = WsgiApplication(application)
    server = make_server('0.0.0.0', 8000, wsgi_app)
    logging.info("wsdl is at: http://localhost:8000/?wsdl")
    server.serve_forever()

Клиент C # также прост:

using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            WS1.ApplicationClient client = new WS1.ApplicationClient();
            Console.WriteLine(client.say_hello( 5));  <<< Error
            Console.ReadKey();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...