pythonspyne:消除方法定义中的complexType

2024-09-30 16:23:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我用spyne构建了一个简单的服务,但有一个问题——它将方法输入参数封装成复杂类型——:

class JiraAdapter(ServiceBase):

    @srpc(Unicode, Unicode, Unicode, _returns=String)
    def CreateJiraIssueWithBase64Attachment(summary, base64attachment, attachment_filename):
        status = Status
        try:
            newkey = jira_client.createWithBase64Attachment(summary, base64attachment.decode('string-escape'), attachment_filename)
            status.Code = StatusCodes.IssueCreated
            status.Message = unicode(newkey)
        except Exception as e:
            status.Code = StatusCodes.FailedToCreateIssue
            status.Message = u'Internal Exception: %s' % e.message
        return status.__str__()

    application = Application([JiraAdapter],
    tns='JiraAdapter',
    in_protocol=Soap11(),
    out_protocol=Soap11()
)

生成以下WSDL(仅处理相对位):

^{pr2}$

有没有一种方法可以让spyne构建wsdl只需要一系列参数?客户机应用程序是用VBA编写的,上帝只知道如何用它提交复杂的类型参数。在


Tags: 方法类型messageattachment参数statusunicodecode