Caribasius
4/3/2017 - 9:41 AM

#SOAP @webservice

#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', 'Ошибка авторизации!' );			
*/	
	
}


?>