Примеры кода клиента веб-сервиса

Пример клиента для PHP-приложений.

С использованием стандартного расширения SOAP
<?php
    $login            
"Ваш логин для входа на сайт http://www.part-kom.ru";
    
$pass             "Ваш пароль для входа на сайт http://www.part-kom.ru";
    
$searchWSDL       "http://www.part-kom.ru/webservice/search.php?wsdl";
    
$orderWSDL        "http://www.part-kom.ru/webservice/order.php?wsdl";
    
$partNumber       911;
    
$makerId          = -1;
    
$neededProviderId 16;

    
$searchClient = new SoapClient($searchWSDL);

    echo 
"Получаем всех возможных производителей для артикула $partNumber<br>";
    
$possibleMakers $searchClient->getMakersByNumber($login$pass$partNumber);

    foreach (
$possibleMakers as $maker) {
        if (
strtoupper($maker["name"]) == "TSN") {
            
$makerId $maker["id"];
        }
    }

    if (
$makerId == -1)
        die(
"Не удалось получить ID необходимого производителя");

    echo 
"Ищем деталь: $partNumber, id производителя = $makerId<br>";
    
$parts $searchClient->findDetail($login$pass$partNumber$makerIdfalsetruefalse);

    if (
count($parts) < 1)
        die(
"Не найдено ни одной детали");

    echo 
"Проверяем есть ли деталь на нужном нам складе id = $neededProviderId<br>";
    
$partsToOrder = array();
    foreach (
$parts as $part) {
        if (
$part["providerId"] == $neededProviderId) {
            echo 
"Деталь найдена! Создаём коллекцию объектов OrderItem<br>";
            
$partsToOrder[] = (object)array(
                
"detailNum" => $part["number"],
                
"makerId" => $part["makerId"],
                
"description" => $part["description"],
                
"price" => $part["price"],
                
"providerId" => $part["providerId"],
                
"reorderAgreement" => false,
                
"comment" => "Для Валеры"
            
);
        }
    }

    if(
count($partsToOrder) < 1)
        die(
"На нужном нам слкаде $neededProviderId деталь $partNumber отсутствует");

    echo 
"Коллекция создана, переходим к тестовому заказу<br>";
    
$orderClient = new SoapClient($orderWSDL);

    echo 
"Закзываем... <br>";
    
$notOrderedItems $orderClient->makeOrderTest($login$pass$partsToOrder);

    if (
count($notOrderedItems) < 1) {
        echo 
"Все детали успешно заказаны";
    } else {
        echo 
"<br><br>Приведенные ниже детали не попали в заказ:<br><br>";
        foreach (
$notOrderedItems as $item) {
            echo 
"Артикул:&nbsp;{$item->detailNum}&nbsp;".
                 
"Код ошибки:&nbsp;{$item->errorCode}&nbsp;".
                 
"Сообщение:&nbsp;{$item->errorMessage}<br>";
        }
    }
?>



С использованием Zend Framework
<?php
  $client 
= new Zend_Soap_Client($wsdl);
  
$client->setEncoding('windows-1251');
  
$result $client->findDetail($login$password$number);
?>




На данный момент интеграция через Visual Studio не поддерживается.