0
SOAP APIのリクエストレスポンスを処理するために新規です。私は、SMSゲートウェイAPIを使用してSMSコードを実装するための助けが必要です。 私は以下のSMSゲートウェイAPIを介して送信SMSのためのカール要求にPHPを使用していますが、私は$パーサ[「resultCodeが」] でこの応答を得たsoapクライアントAPIのinetegrationを使用するPHPが動作しません。
<?php
define("USERNAME","#username#");
define("PASSWORD","#password#");
$soapUrl = "soap_wsdl_url";
$xml_post_string = '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:templateSMS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:ElbaridTNS" xmlns:ns3="namespace" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<ns3:AuthHeader>
<username>USERNAME</username>
<password>PASSWORD</password>
</ns3:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:templateSMS>
<Sms xsi:type="ns2:Sms"><phoneNumber xsi:type="xsd:string">phoneNumber</phoneNumber>
<message xsi:type="xsd:string">Hello User, this is test SMS message. We can successfully send SMS.</message>
<unicodeMessage xsi:type="xsd:string">test SMS</unicodeMessage>
<sms_type_id xsi:type="xsd:string">1</sms_type_id>
<notify xsi:type="xsd:string">0</notify>
<senderId xsi:type="xsd:string">SENDERID</senderId>
<priority xsi:type="xsd:string">2</priority>
<vbApp xsi:type="xsd:string">SoapRequest</vbApp>
<vbIdTime xsi:type="xsd:string">20161130101112</vbIdTime>
<destinationPort xsi:type="xsd:string">-1</destinationPort></Sms>
</ns1:templateSMS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>';
$headers = array(
"Content-type: text/xml;charset=\"utf-8\"",
"Accept: text/xml",
"Cache-Control: no-cache",
"Pragma: no-cache",
"SOAPAction: templateSMS",
"Content-length: ".strlen($xml_post_string),
);
$url = $soapUrl;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo $response;
$response1 = str_replace("<soap:Body>","",$response);
$response2 = str_replace("</soap:Body>","",$response1);
$parser = simplexml_load_string($response2);
echo $parser['resultCode'];
echo "<pre>";
print_r($parser);
echo "</pre>";
curl_close($ch);
?>
顧客(複数可)にSMSを送信するために私のコードである「ユニキャストを送りますメッセージ "。私はこの返答の意味が分かりません。私は2日以来この問題についてR & Dsでしたが、成功を収めませんでした。
上記の問題を解決するお手伝いはありますか?
あなたのコードは、curl_execがfalseを返すかどうかを決して確認しません。また、落ちる場合は、[curl_error](http://php.net/manual/en/function.curl-error.php)を呼び出す必要があります – Dragos
そのメッセージはAPIから受け取ったSOAP応答に含まれているため、それぞれのSOAP APIサービスからの技術サポートを明確にすることができるのは唯一の人です。 – Dragos
私はすでにサポートチームに連絡して、リクエストに合格する必要があるサンプルデータを私に渡しました。 –