내 spyne 클래스 정의에서 특정 클래스 태그 이름을 가져 오는 방법이 있습니까? 경우 감안할 때spyne 다형성 태그 이름을 올바르게 얻는 방법
내 클래스 계층 구조는 다음과 같습니다
# models.py
class Vehicle(ComplexModel):
...
class Car(Vehicle):
...
class Bike(Vehicle):
...
가 그럼 난, 다형성이 작동 얻기 위해, 자신의 문제가 비슷한 것 같다 원인이 질문의 답의 지시를 따랐다. 변경된
how to implement abstract model in spyne
How do you @rpc _returns polymorphic types in spyne?
중요 코드 라인 :
# start.py
application=Application(
...
in_protocol=Soap11(...),
out_protocol=Soap11(polymorphic=True)
)
지금까지 너무 좋아.
<!-- Response.xml -->
...
<Vehicle xsi:type="Car">
...
</Vehicle>
...
그래서 제 질문은 다음과 같습니다 :
내가 태그 이름으로 일반 클래스 이름 Vehicle
제거하고의 이름을 얻을 얻을 수 있습니다 내가 이런 짓을하면, 나는 다음과 같은 응답이있어 특정 클래스 예 대신 태그 이름으로 Car
?
Remove the namespace from Spyne response variables
:이 문제의`ctx.out_string "와 텍스트 교체와 함께 몇 가지 방법을 본 적이
<Car>
...
</Car>
:
따라서 응답은 다음과 같이해야한다 나는 아마 나에게 잘 될 것이라고 생각하지만, API에서 "아직 발견하지 못했던"일반적인 방법이 있다면, 대신 그것을 사용하는 것으로 알고 싶다.
이것은 SOAP 다형성이 구현 된 방법입니다. 이것이 버그라고 생각합니까? –
@BurakArslan 좋아, 나는 그것에 익숙하지 않았다. 나는 그것에 대한 약간의 연구를 할 것이다. 아니오 그래서 이런 종류의 기능이 필요 없다고 말하면 lxml과 같은 xml 인터프리터는 xml로 작업 할 때 tagname으로 'xsi : type'을 결정해야합니다. 그리고'xsi : type'이 특정 유형이기 때문에 일반 슈퍼 클래스를 tagname에있는 그대로 무시합니다. – 0x00F
이제 네가 어디에서 왔는지 알 겠어. 내 대답을 참조하십시오. –