Despod
Новичок
Добрый день.
Есть необходимость создать веб сервис(сервер на php) который будет возвращать информацию для программы 1с. Проблема в 1c, она хочет что то особеного для себя.
Отправить 1с нужно объект у которого есть одно свойство mystr(строка). Код такой
Возвращает данный код такой вот ответ.
1с такой ответ не устраивает, начинает ругаться на типы данных и их несоответствие. По трассировке стало ясно что 1с ждет приблизительно такой ответ
1) Как должен выглядеть PHP код в таком случае?
2) Есть ли возможность в PHP создавать объекты для веб сервиса не через классы(как в моем случае) а на основании описания WSDL?
Типа
myObject=CreateObjectWSDL("out");
MyObject->mystr="success";
Заранее спасибо
Есть необходимость создать веб сервис(сервер на php) который будет возвращать информацию для программы 1с. Проблема в 1c, она хочет что то особеного для себя.
Отправить 1с нужно объект у которого есть одно свойство mystr(строка). Код такой
Код:
<?php
ini_set("soap.wsdl_cache_enabled", "0"); // отключаем кэширование WSDL
$server = new SoapServer("soap.wsdl");
class testResponse
{
public $out;
}
class testType
{
public $mystr;
}
function test()
{
$testtype= new testType();
$testtype->mystr="success";
$ret= new testResponse();
$ret->out=$testtype;
return $ret;
}
$server->addFunction("test");
$server->handle();
?>
Код:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample-package.org">
<SOAP-ENV:Body>
<ns1:testResponse>
<out>
<mystr>success</mystr>
</out>
</ns1:testResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Код:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<m:testResponse xmlns:m="http://www.sample-package.org">
<m:out xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:mystr>success</m:mystr>
</m:out>
</m:testResponse>
</soap:Body>
</soap:Envelope>
2) Есть ли возможность в PHP создавать объекты для веб сервиса не через классы(как в моем случае) а на основании описания WSDL?
Типа
myObject=CreateObjectWSDL("out");
MyObject->mystr="success";
Заранее спасибо