Wpis z mikrobloga

Hej Mircy, problem mam.

Próbuję stworzyć serwis w Pythonie komunikujący się z siszarpowym WCFem przy pomocy SOAP'a, ale napotkałem na spory problem. Dla prostych wydmuszek (zarówno po stronie klienta C# i serwisu Pythonowego) wszystko działa, ale:
- klient C# jest już napisany, co więcej nie mogę go edytować praktycznie w ogóle (co najwyżej sobie do testów, bo kod mam dostępny, ale nie mam co liczyć, że te zmiany zostaną wepchnięte) - za dużo osób/projektów jest od niego uzależnionych, żeby zmiany w ogóle mogły być dopuszczone
- wszystkie namespace'y C# są puszczone na jednym porcie, komunikacja C# klient <-> C# serwis przebiega normalnie
- obiekty WCFowe tworzone w kliencie zawierają się w kilku różnych namespace'ach, a biblioteka z której korzystam w Pythonie (Spyne) prawdopodobnie* nie obsługuje więcej jak jednego namespace'a per aplikacja, a co za tym idzie też i port.

* - prawdopodobnie, bo od 2 dni nie mogę znaleźć niczego w Google, SO, na GitHubie Spyne'a - szok, niedowierzanie, miliony pytań bez odpowiedzi...

Może ktoś coś doradzi, spotkał się z tym problemem korzystając z tej biblioteki, albo doradzi jakąś inną do komunikacji z siszarpowym WCFem z Pythona? Jedyne wymagania to jakakolwiek dokumentacja i żeby współgrało z Pythonem 3.X

#programowanie #python #wezowamowa #soap #wcf i trochę #csharp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@asunez:
application = Application([HelloWorldService],
tns='spyne.examples.hello',
inprotocol=HttpRpc(validator='soft'),
out
protocol=JsonDocument()
)
Jeżeli dobrze rozumiem, to potrzebujesz zmieniać tns w powyższym wywołaniu (tzn. chcesz go dynamicznie zmieniać w obiekcie application), tak?
  • Odpowiedz
@piotrb: Tak. Tzn. nie musi to być dynamicznie, chodziło tylko o połączenie kilku obiektów WsgiApplication. Zdążyłem już jednak znaleźć rozwiązanie, musiałem użyć WsgiMountera do "podłączenia" kilku aplikacji z różnymi namespaceami, co wyczerpuje mój problem. Ale dzięki za chęć pomocy ( ͡º ͜ʖ͡º)
  • Odpowiedz