SOAP
サーバーからの応答を解析しようとしています。私は 100% が初めてで、 /SOAP
を使用して通信するのはかなり初めてです。Ubuntu 12.04 で Python 2.7 を使用しています。HTTP
HTTPS
SOAP
のように見えますXML
。ただし、そのように解析できないようです。使用しようとしましElementTree
たが、エラーが発生し続けます。SOAP
検索から、タグに問題がある可能性があると結論付けることができました。(私はここから離れている可能性があります...私がそうである場合はお知らせください。)
したがって、ここSOAP
に私が持っているメッセージの例と、それを解析するために何をしようとしているかを示します (これは、関連する場合に備えて、Link Point Gateway からの実際のサーバー応答です)。
import xml.etree.ElementTree as ET
soap_string = '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><fdggwsapi:FDGGWSApiOrderResponse xmlns:fdggwsapi="http://secure.linkpt.net/fdggwsapi/schemas_us/fdggwsapi"><fdggwsapi:CommercialServiceProvider/><fdggwsapi:TransactionTime>Wed Jul 25 10:26:40 2012</fdggwsapi:TransactionTime><fdggwsapi:TransactionID/><fdggwsapi:ProcessorReferenceNumber/><fdggwsapi:ProcessorResponseMessage/><fdggwsapi:ErrorMessage>SGS-002303: Invalid credit card number.</fdggwsapi:ErrorMessage><fdggwsapi:OrderId>1</fdggwsapi:OrderId><fdggwsapi:ApprovalCode/><fdggwsapi:AVSResponse/><fdggwsapi:TDate/><fdggwsapi:TransactionResult>FAILED</fdggwsapi:TransactionResult><fdggwsapi:ProcessorResponseCode/><fdggwsapi:ProcessorApprovalCode/><fdggwsapi:CalculatedTax/><fdggwsapi:CalculatedShipping/><fdggwsapi:TransactionScore/><fdggwsapi:FraudAction/><fdggwsapi:AuthenticationResponseCode/></fdggwsapi:FDGGWSApiOrderResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>'
targetTree = ET.fromstring(soap_string)
これにより、次のエラーが発生します。
unbound prefix: line 1, column 0
別のスタックオーバーフローの投稿SOAP-ENV:Body
から、名前空間の問題を引き起こしている可能性があると結論付けました。(私は間違っているかもしれません。)
解析に適した解決策を見つけるために他の検索を行いましたSOAP
が、それらのほとんどは 3 年以上前のものです。泡がかなりオススメのようです。行き過ぎてしまう前に、「更新された」推奨事項を入手したかったのです。
SOAP
上記で受け取ったような応答を解析するための堅実な (そして簡単な) 方法を誰かが推奨できますか? 私が始めるための簡単な例を提供していただければ幸いです(上記で述べたように、私は完全に初心者ですSOAP
)。