Dear Sir/Madam,
I received the weird error and I am not sure what cause the error:
3000 Server Error - the server failed to fulfill an apparently valid request.
require_once('nusoap.php');
require_once('nusoapmime.php');$client = new nusoap_client_mime('http://abc.com/mm7tomms.sh', false);
$err = $client->getError();
if ($err)
{
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$client->setCredentials("xxx","xxx");$client->setHTTPEncoding('deflate, gzip');
$client->requestHeaders = true;
$transactionid = time();
$headers = '<mm7:TransactionID xmlns:mm7="'.$ns.'" soap-env:mustUnderstand="1">'.$transactionid.'</mm7:TransactionID>';
$client->setHeaders($headers);$cid = $client->addAttachment('', 'xxx.txt');
$content = array(
'MM7Version' => '5.3.0', 'SenderIdentification' => array( 'VASPID' => 'xxx', 'VASID' => 'xxxx', 'SenderAddress' => array('ShortCode' => 'xxxx'), ), 'Recipients' => array( 'To' => array('Number' => 'xxxxx') ), 'ServiceCode' => 'xxxx', 'LinkedID' => 'Linked', 'MessageClass' => 'Personal', 'DeliveryReport' => 'true', 'ReadReply' => 'true', 'Priority' => 'Normal', 'Subject' => 'Hello testing', 'DistributionIndicator' => 'false' );
$result = $client->call('SubmitReq', $content);
if ($client->fault) {
echo '<h2>======= FAULT ======</h2><pre>'; print_r($result); echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>====== ERROR =======</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>===== RESULT =====</h2><pre>'; print_r($result); echo '</pre>';
echo '<h2>===== ATTACHMENT ======</h2><pre>';
$attachments = $client->getAttachments();
foreach ($attachments as $a) {
echo 'Filename: ' . $a['filename'] . "\r\n";
echo 'Content-Type: ' . $a['contenttype'] . "\r\n";
echo 'cid: ' . htmlspecialchars($a['cid'], ENT_QUOTES) . "\r\n";
echo htmlspecialchars($a['data'], ENT_QUOTES);
echo "\r\n";
}
echo '</pre>';
}
}
echo '<h2>======= REQUEST ======</h2><pre>' . $client->request . '</pre>';print "RESPONSE == \n\n\n";
echo '<h2>Respose</h2><pre>' .$client->response . '</pre>';
print "RESPONSE DATA == \n\n\n";
echo '<h2>ResponseData</h2><pre>' . $client->responseData . '</pre>';print "DEBUG == \n\n\n";
echo '<h2>Debug</h2><pre>' . $client->debug_str . '</pre>';
Then I got following response:
<h2>======= FAULT ======</h2><pre>Array
(
[faultcode] => Server
[faultstring] => Server Error
[detail] => Array
(
[RSErrorRsp] => Array
(
[Status] => Array
(
[StatusCode] => 3000
[StatusText] => Server Error
)
) )
)
What does 3000 mean actually?