Конструктор веб сервисов для 1с

Позволяет быстро создать веб-сервис на php таким образом, чтобы его понимала 1с.

В текущем виде позволяет обмениваться небольшими порциями данных (до сотен килобайт) даже на бесплатном хостинге. С помощью этой библиотеки происходит обмен результатами многопоточного теста

Библиотека не универсальна, и работает только с 1с. Имеются некоторые ограничения, но даже для достаточно сложных структур данных они незаметны.

Сама библиотека: WS1c.php

Пример генерируемого wsdl'я ws.php?wsdl

Обработка для 1с с примерами: CheckService.epf

Php файл с примерами для обработки: wsSample.php

Подключение библиотеки

Все очень просто:

Подключаете в нужное место WS1c.php через include_once

    include_once 'classes/WS1c.php'

создаете объект класса WS1c указав пространство имен и точку подключения

    $ws = new WS1c('http://fragster.ru/wsfor1c', 'fragsterwsfor1c');

добавляете в массив methods "отражения" функций, которые должны вызываться с помощью 1с

    $ws->methods[] = new ReflectionFunction('functionName')

Для правильного определения типов заполняете комментарии phpdoc у функций:

    /**
    * 
    * @param ClassName $parameter
    * @return AnotherClassName
    */

и у классов (пример для свойства класса, которое является массивом):

    /**
    * 
    * @minOccurs 0
    * @maxOccurs unbounded
    * @var TestClass52
    */

добавляете код обработки параметров:

    header("Content-Type: text/xml;");
    if (isset($_REQUEST[\'wsdl\'])) {
        echo $ws->getWSDL();
    } else {
        $xml = file_get_contents(\'php://input\');
        $outxml = $ws->handleRequest($xml);
        echo $outxml;
    }   

Больше примеров на странице примеров ;)