当使用Python客户端通过SOAP访问JIRA时,我收到错误“导入时没有schemaLocation属性”

时间:2011-09-15 16:53:31

标签: python soap jira soappy

这是示例代码:

#!/usr/bin/env python

# Sample Python client accessing JIRA via SOAP. By default, accesses
# http://jira.atlassian.com with a public account. Methods requiring
# more than basic user-level access are commented out. Change the URL
# and project/issue details for local testing.
#
# Note: This Python client only works with JIRA 3.3.1 and above (see
# http://jira.atlassian.com/browse/JRA-7321)
#
# Refer to the SOAP Javadoc to see what calls are available:

import SOAPpy, getpass, datetime

soap = SOAPpy.WSDL.Proxy('http://jira.company.com:8080/rpc/soap/jirasoapservice-v2?wsdl')


jirauser='username'
passwd='password'

# This prints available methods, but the WSDL doesn't include argument
# names so its fairly useless. Refer to the Javadoc URL above instead
#print 'Available methods: ', soap.methods.keys()

def listSOAPmethods():
    for key in soap.methods.keys():
        print key, ': '
        for param in soap.methods[key].inparams:
            print '\t', param.name.ljust(10), param.type
        for param in soap.methods[key].outparams:
            print '\tOut: ', param.name.ljust(10), param.type


auth = soap.login(jirauser, passwd)

issue = soap.getIssue(auth, 'QA-79')
print "Retrieved issue:", issue

print "Done!"

完整错误如下,以提供完整的上下文:

IMPORT:  http://service.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://jira.mycompany.com:8080/rpc/soap/jirasoapservice-v2
no schemaLocation attribute in import
IMPORT:  http://exception.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import
/usr/local/lib/python2.6/dist-packages/wstools-0.3-py2.6.egg/wstools/XMLSchema.py:3107: DeprecationWarning: object.__init__() takes no parameters
  tuple.__init__(self, args)
IMPORT:  http://service.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://beans.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://jira.mycompany.com:8080/rpc/soap/jirasoapservice-v2
no schemaLocation attribute in import
IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import
IMPORT:  http://service.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://beans.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://exception.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import
IMPORT:  http://beans.soap.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://jira.mycompany.com:8080/rpc/soap/jirasoapservice-v2
no schemaLocation attribute in import
IMPORT:  http://exception.rpc.jira.atlassian.com
no schemaLocation attribute in import
IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import

1 个答案:

答案 0 :(得分:0)

我之前更改了JIRA Python CLI代码以使用suds而不是SOAPpy并且没有回头看。 SOAPpy已经很老了,现在似乎不受支持。