First DataのグローバルゲートウェイからSOAP応答を処理しようとしています。以前はSoapClientを使っていましたが、wsdlはありません。SOAP応答の処理
私はここにあるサンプルとPHPマニュアルに基づいてSimpleXMLElementなどのさまざまなアプローチを試しましたが、何もできません。私は名前空間が私の問題の一部だと思う。誰かがアプローチを提案したり、同じような例を私に指摘することができますか?私のGoogleの取り組みはこれまで実りありませんでした。私はまた、SOAPかどうかを判断できるようにする必要があります
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<fdggwsapi:FDGGWSApiOrderResponse xmlns:fdggwsapi="http://secure.linkpt.net/fdggwsapi/schemas_us/fdggwsapi">
<fdggwsapi:CommercialServiceProvider/>
<fdggwsapi:TransactionTime>Thu Nov 29 17:03:18 2012</fdggwsapi:TransactionTime>
<fdggwsapi:TransactionID/>
<fdggwsapi:ProcessorReferenceNumber/>
<fdggwsapi:ProcessorResponseMessage/>
<fdggwsapi:ErrorMessage>SGS-005005: Duplicate transaction.</fdggwsapi:ErrorMessage>
<fdggwsapi:OrderId>A-e833606a-5197-45d6-b990-81e52df41274</fdggwsapi:OrderId>
...
<snip>
:(それは剥がさの前に、すべてのHTMLヘッダーのものと)PHP 5
部分のSOAP応答を使用した
はこのようになります断層が合図された。そのためのXMLは次のようになります。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:FaultX>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring xml:lang="en">MerchantException</faultstring>
<detail>
cvc-pattern-valid: Value '9999185.00' is not facet-valid with respect to pattern '([1-9]([0-9]{0,3}))?[0-9](\.[0-9]{1,2})?' for type '#AnonType_ChargeTotalAmount'.
cvc-type.3.1.3: The value '9999185.00' of element 'v1:ChargeTotal' is not valid.
</detail>
</SOAP-ENV:FaultX>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
私は非障害応答からデータを取得することができたミスター・コードの答えを使用します。しかし、私はどのタイプのパケットを扱っているのかを判断し、両方のタイプからデータを抽出する必要があります。彼らだけがwsdlを供給すればもっと簡単になるでしょう!
ありがとう - これは私が必要としていたものです。両方の名前空間が同じように参照されている例は見ていませんでした。 – JonP
有効な応答が得られればこの例は美しく動作しますが、私は石けんの故障が通知されたときに余分な「しわ」を発見しました。その場合、もちろん第2の名前空間は存在せず、障害要素とその内容が存在するかどうかを判断する簡単な方法はありません。あなたは何かを提案できますか? – JonP
質問を石鹸のフォールトレスポンスの例で更新してみてください。 – MrCode