#SOAP @webservice
<?
$arr = array(
//14384 => 'N',
//14385 => 'R',
//14386 => 'P',
//14386 => 'Z',
//14387 => 'F',
14412 => 'Z',
);
/*
if(CSaleOrder::StatusOrder(14388, "Z")){
echo 1;
}else{
echo 0;
}
*/
$tmpStr = json_encode($arr);
smv('orders '.$tmpStr);
CModule::IncludeModule('webservice');
global $APPLICATION;
$client = new CSOAPClient( "sb-sale.ru", '/webservice/1c_exchange_orders_test.php' );
$request = new CSOAPRequest( "update_order_status", "", array("login" => "vr", "password" => "sb", "orders" => $tmpStr) );
$response = $client->send( $request );
//echo "Call wsTestStartOut1";
if ( $response->isFault() )
{
print( "SOAP fault: " . $response->faultCode(). " - " . $response->faultString() . "" );
}
else{
$tmpVal = $response->Value;
}
smv('recive '.$tmpVal['answer']);
?>
<?
/*
class ImportOrders extends IWebService
function GetWebServiceDesc()
$wsdesc->classes = array(
...
*/
"update_order_status" => array(
"type" => "public",
"name" => "update_order_status",
"input" => array(
'login' => array("varType" => "string"),
'password' => array("varType" => "string"),
'orders' => array("varType" => "string"),
),
"output" => array(
"answer" => array("varType" => "string")
),
),
/*
...
*/
/**
* Обновление статусов заказа
*/
public function update_order_status($login, $password, $orders)
{
CModule::IncludeModule('sale');
$tmp = json_decode($orders);
$res=array();
foreach($tmp as $orderID => $orderStatus){
if(CSaleOrder::StatusOrder($orderID, $orderStatus)){
$res[$orderID]['err'] = '0';
}else{
$res[$orderID]['err'] = '1';
$res[$orderID]['msg'] = 'Unable to change status';
}
}
return array(
"answer" => json_encode($res),
);
/*
if( $this->userAuth($login, $password) )
{
if($order)
{
return array(
"answer" => $orders,
);
}
else
return new CSOAPFault( 'Server Error', 'Не переданы данные по заказам!' );
}
else
return new CSOAPFault( 'Server Error', 'Ошибка авторизации!' );
*/
}
?>