ColdFusionを使用したSOAP応答の解析について、他の解析に関する質問と回答を読みました。しかし、この場合、レスポンスの形式が少し異なり、xmlSearchを使用して解析すると、結果として空の配列が返されます。ここでColdfusionによる奇妙なSOAP応答の解析
は、私が解析する必要がSOAPレスポンスです:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<AuthorizeAndCaptureResponse xmlns="http://3DSI.org/WebServices/CreditCardTransaction">
<AuthorizeAndCaptureResult xmlns:a="http://schemas.datacontract.org/2004/07/ThreeDelta.Web.Services.ECLinx.Definitions.CreditCardTransactionDefinitions" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Succeeded xmlns="http://schemas.datacontract.org/2004/07/ThreeDelta.Web.Services.ECLinx.Definitions">false</Succeeded>
<ValidationFailures xmlns="http://schemas.datacontract.org/2004/07/ThreeDelta.Web.Services.ECLinx.Definitions" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<a:FailureReason>PermissionDenied</a:FailureReason>
<a:ProcessorResponse i:nil="true" />
<a:RuleInfringements xmlns:b="http://schemas.datacontract.org/2004/07/ThreeDelta.Web.Services.ECLinx.Definitions" i:nil="true" />
<a:ThirdPartyResponse i:nil="true" />
<a:Token i:nil="true" />
<a:TotalAmount>0</a:TotalAmount>
<a:TransactionKey i:nil="true" />
<a:TransactionWarning xmlns:b="http://schemas.datacontract.org/2004/07/ThreeDelta.Common.Enums" i:nil="true" />
<a:AddressAvsResponse>None</a:AddressAvsResponse>
<a:CardSecurityCodeResponse>None</a:CardSecurityCodeResponse>
<a:PostalCodeAvsResponse>None</a:PostalCodeAvsResponse>
<a:ProcessorAvsResponse i:nil="true" />
<a:ProcessorCardSecurityCodeResponse i:nil="true" />
<a:AuthCode i:nil="true" />
<a:CreditCardResponseStatus>None</a:CreditCardResponseStatus>
</AuthorizeAndCaptureResult>
</AuthorizeAndCaptureResponse>
</s:Body>
</s:Envelope>
私も、アレイからa:AuthCode
値を必要としています。私はすでに以下を試したことがありますが運がありません。空の配列を返します。
<cfset results = xmlSearch(soapResponse,"//*[local-name()='s:Envelope']") />
<cfdump var="#results#" />
ご協力いただければ幸いです。
私はすでに以下を試してきましたが、運がありません。空の配列を返します。 –
どのバージョンのColdFusionを使用していますか?
Alex
バージョンはColdfusion 11です –