1

支払いゲートウェイ(FirstData)とやり取りしようとしています。これまでのところ、cURLリクエストを作成し、最終的に機能させました。これで、SOAPでラップされたXMLを生成できるようになりました。次のようなエラーが表示されます。

入力SOAPリクエストは整形式ではありません。例外はorg.xml.sax.SAXParseExceptionです。ルート要素の前にあるドキュメントのマークアップは整形式である必要があります。

これが私がフィードしているxmlです:

$this->xml = "<?xml version=\"1.0\"?>";
$this->xml = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">";
$this->xml = "<SOAP-ENV:Header />";
$this->xml = "<SOAP-ENV:Body>";
$this->xml = "<fdggwsapi:FDGGWSApiOrderRequest xmlns:fdggwsapi=\“http://secure.linkpt.net/fdggwsapi/schemas_us/fdggwsapi\">";
$this->xml = "<v1:Transaction xmlns:v1=\"http://secure.linkpt.net/fdggwsapi/schemas_us/v1\">";
$this->xml = "<v1:CreditCardTxType>";
$this->xml = "<v1:Type>sale</v1:Type>";
$this->xml = "</v1:CreditCardTxType>";
$this->xml = "<v1:CreditCardData>";
$this->xml = "<v1:CardNumber>4012000033330026</v1:CardNumber>";
$this->xml = "<v1:ExpMonth>12</v1:ExpMonth>";
$this->xml = "<v1:ExpYear>12</v1:ExpYear>";
$this->xml = "</v1:CreditCardData>";
$this->xml = "<v1:Payment>";
$this->xml = "<v1:ChargeTotal>12</v1:ChargeTotal>";
$this->xml = "</v1:Payment>";
$this->xml = "</v1:Transaction>";
$this->xml = "</fdggwsapi:FDGGWSApiOrderRequest>";
$this->xml = "</SOAP-ENV:Body>";
$this->xml = "</SOAP-ENV:Envelope>";

return $this->xml;

私はこれについて多くを見つけることができず、すべてを試しました。cURLリクエストを介して送信しているヘッダーは次のとおりです。

$headers = array(
        "Content-type: text/xml;charset=\"utf-8\"", 
        "Accept: text/xml", 
        "Cache-Control: no-cache", 
        "Pragma: no-cache", 
        "SOAPAction: \"run\"", 
        "Content-length: ".strlen($this->genXML()),
        );

* genXML()は、上記のXMLを含むXMLメッセージを格納します

どんな情報でも大歓迎です。

4

1 に答える 1

2

どういう意味$this->xml .= "..."ですか?そうでなければ、毎回文字列を上書きするだけですよね?

于 2013-02-07T23:36:40.613 に答える