私はこのようなWebサービスを持っています:
class ExampleService(ServiceBase):
__tns__ = 'http://xml.company.com/ns/example/'
@rpc(Mandatory.Uuid, _returns=Unicode)
def say_my_uuid(ctx, uuid):
return 'Your UUID: %s' % uuid
@classmethod
def dispatch(cls):
application = Application([cls],
tns=cls.__tns__,
interface=Wsdl11(),
in_protocol=Soap11(validator='lxml'),
out_protocol=Soap11(cleanup_namespaces=True)
)
return csrf_exempt(DjangoApplication(application))
引数として使用できますUuid
が、その必須バージョンを試していると、サーバーからエラーが返されます:
XMLSchemaParseError at /
simple type 'MandatoryUuid', attribute 'base': The QName value '{http://www.w3.org/2001/XMLSchema}MandatoryString' does not resolve to a(n) simple type definition., line 12
Exception Location: D:\Program Files\Python27\lib\site-packages\spyne\interface\xml_schema\_base.py in build_validation_schema, line 183
Uuid
タイプをカスタマイズできないのはなぜですか? その定義からパターンを削除すると、すべて問題ありませんが、とにかく UUID のパターンが必要です。回避策はありますか?多分別の石鹸フレームワーク?