WSDLを使用してSOAPサービスにアクセスしようとしています。
http://taqm.epa.gov.tw/taqm/DataService.asmx?WSDL
pysimplesoapを使用する
#!/usr/bin/python
from codecs import Codec
from pysimplesoap.client import SoapClient
url = 'http://taqm.epa.gov.tw/taqm/DataService.asmx?WSDL'
client = SoapClient(wsdl=url,trace=False)
response = client.SiteList2('xml')
result = response['SiteList2Result']
結果を出力しようとすると、「UnicodeEncodeError:'ascii'コーデックは49-50の位置にある文字をエンコードできません:序数がrange(128)にありません」と表示されます。
応答には繁体字中国語のbig5エンコーディング(またはおそらくutf-8)が含まれていると思います。
応答は口述であり、直接印刷すると次のように表示されます。
{'SiteList2Result': u'<NewDataSet><Table><SITE_CODE>1</SITE_CODE><SITE>\u57fa\u9686</SITE><HSCITY>\u57fa\u9686\u5e02</HSCITY><DISTRICT>\u4fe1 \u7fa9 \u5340</DISTRICT>...
なぜASCIIコーデックを使用しているのですか?それは何をしているのですか?どうすれば解決できますか?