Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / SOAP помогите пожалуйста / 7 сообщений из 7, страница 1 из 1
06.11.2013, 13:16
    #38454362
lynatik50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
Первый раз пишу SOAP клиент написал:

$log -> log("import_trs.php --- Начало");

$sResURL = " http://10.32.201.50:50123/WebServises/DataService/SignDataService.svc?wsdl";
$sName = "ТРС";
$uName = "user_1_1";
$dDesc = "Описание";
$dType = "1";
$dFormat = "1";
$dClass = "1";
$dFile = "1";
$trans = "1";
$return = null;



$log -> log("Тут был".$sResURL);


$client = new SoapClient("$sResURL");

$log -> log("Тут был_2");

после new SoapClient выполнение обрывается, какие могут быть причины?
...
Рейтинг: 0 / 0
06.11.2013, 13:32
    #38454402
lynatik50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
Ошибка Fatal error: Class 'SoapClient' not found in
...
Рейтинг: 0 / 0
07.11.2013, 15:06
    #38456301
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
lynatik50,

а что phpinfo говорит ? либа подключена с СОАПом ?
...
Рейтинг: 0 / 0
07.11.2013, 17:51
    #38456691
lynatik50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
artas,

Спасибо, получилось, оказалась библиотека soap была битая

теперь возникла такая проблема

Код: php
1.
Указанное в сообщении действие SOAP, "", не соответствует действию HTTP



что это значит?
...
Рейтинг: 0 / 0
07.11.2013, 19:02
    #38456840
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
lynatik50,

ну это уже маны по соапу курить надо. Если приведенный код весь, то значит ВСЛД битый, скорее всего
...
Рейтинг: 0 / 0
07.11.2013, 19:13
    #38456861
lynatik50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
artas,

нет не весь,вот весть:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
<?php
require_once 'un.api.php';
//require_once 'nsi_soap.php';
set_time_limit(10); //время обработки скрипта
ini_set('default_socket_timeout', 20);
ini_set('display_errors','On');

/*
$sql = "select count (RDB\$PROCEDURE_NAME) from  RDB\$PROCEDURES where RDB\$PROCEDURE_NAME = 'CHECK_PACKAGE'";
$count = $db->getOne($sql);
if ($count == 0)
{
$db->Exec("Написать текст хранимки");
}
	$db->Exec("execute procedure GEN_USERS");
$log -> log('3');
	$ui->refresh('таблица которую затрагивает хранимка');
	$ui->refresh('SYS_USERS - таблица которую затрагивает хранимка');
$log->log('Конец');
*/



$file = 'trs_import_session.txt';
$sResURL = "http://ron-esep:50123/WebServises/DataService/SignDataService.svc?wsdl";
$sName = "ТРС";
	$cu  = $ui->parsetemplate("[CURRENTUSER]");
	$sql = "select LOGIN from SYS_USERS where SYS_GUID=".$cu;
	$log -> log($sql);
$uName = $db->getone($sql);
$dDesc = "";
$dType = "Сведения о лицензиях";
$dFormat = "SpreadsheetML";
//$dClass = "<DocClassification><Classifier id =\"1\" namе=\"Субъекты РФ\"><Class id=\"77\" name=\"Москва\"/></Classifier><Classifier id =\"2\" 
//namе=\"Направления деятельности\" ><Class id=\"30\" name=\"Лицензирование\"/><Class id=\"31\" name=\"Контроль  и надзор\"/></Classifier></DocClassification>"; 
$docUrl = "http://trs.obrnadzor.gov.ru/docs/HelpRegUser18.09.2012.zip";
$trans = true;
$return = "";


$sql = "select em.rbdc_regionsfk from sys_users as su
inner join employees as em on em.userfk = su.sys_guid where su.login = '$uName'";
$region = $db->getone($sql);
$log -> log("Region: ".$region);
$dClass = "<DocClassification><Classifier id =\"1\" namе=\"Субъекты РФ\"><Class id=\"$region\" name=\"..\"/>
</Classifier><Classifier id =\"2\" namе=\"Отчетный период\"><Class id=\"..\" name=\"..\"/>
</Classifier><Classifier id =\"3\" namе=\"Направление деятельности\" ><Class id=\"1001\" name=\"Лицензирование\"/>
</Classifier></DocClassification>";
$log -> log("dClass: ".$dClass);



$client = new SoapClient($sResURL, array('soap_version'=> SOAP_1_2, 'trace' => 1)); //версия SOAP

$params = array
(
'systemName'=>"$sName", 
'userName'=>"$uName",
'docDescription' => "$dDesc",
'docType' => "$dType",
'docFormat' => "$dFormat",
'docClassification' => "$dClass",
'docUrl' => "$docUrl",
'transferToUnifiedStorage' => "$trans",
'returnBackUrl' => "$return"
);

echo $params["systemName"];

$log -> log("УРЛ с: ".$params["systemName"]);
$log -> log("Имя системы: ".$params["userName"]);
$log -> log("Логин пользователя: ".$params["docDescription"]);
$log -> log("Описание: ".$params["docType"]);
$log -> log("Тип документа: ".$params["docFormat"]);
$log -> log("Формат документа: ".$params["docClassification"]);
$log -> log("ХМЛ строка: ".$params["docUrl"]);
$log -> log("УРЛ документа: ".$params["transferToUnifiedStorage"]);
$log -> log("Загружать или нет: ".$params["returnBackUrl"]);

$log->log("asdfasdf");

$mID=$client->__getFunctions();
$log->log("mid ".count($mId));

$typesArray = $client -> __getTypes();
$log -> log("types count = ".count($typesArray));
$log -> log(var_dump($typesArray));
$log->log($client->__getLastRequest());



$actionHeader = new SoapHeader('http://www.w3.org/2005/08/addressing',
                               'Action',
                               'http://tempuri.org/ISignDataService/SendDocUrl');
$client->__setSoapHeaders($actionHeader);
$sID = $client->SendDocUrl($params);


$log->log("asdfasdf");
$log->log($sID);

/*$res = $sID->getall($sID);

$log -> log($res["ResultCode"]);
$log -> log($res["ResultMessage"]);
$log -> log($res["OperID"]);
$log -> log($res["ESEPGUIActivationURL"]);*/

//if $sID -> ResultCode

//	file_put_contents($file,serialize($sID));
//	$text = file_get_contents($file);
//$log -> log($text);
/*$log -> log("Тут был_4");

$log -> log("Конец");
*/

//$sID = $client->GetSessionId($params);


?>




его смысл не сильно отличается, прикрутил это в надежде избавиться от ошибки
Код: php
1.
2.
3.
4.
5.
$actionHeader = new SoapHeader('http://www.w3.org/2005/08/addressing',
                               'Action',
                               'http://tempuri.org/ISignDataService/SendDocUrl');
$client->__setSoapHeaders($actionHeader);
$sID = $client->SendDocUrl($params);



но получил другую ошибку:

Сообщение с Кому "" не может быть обработано на стороне получателя из-за несоответствия AddressFilter на EndpointDispatcher. Проверьте согласованность адресов EndpointAddress на стороне отправителя и получателя.

на что разраб сервиса сказал:

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

как это сделать?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
26.04.2016, 06:52
    #39224342
WizzyWu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP помогите пожалуйста
lynatik50,

Добрый день. Не подскажете, удалось ли вам победить описанную проблему. Просто я сейчас работаю над той же проблемой с подключение к тому же сервису. (Это было бы даже забавно, если бы не было так грустно).
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / SOAP помогите пожалуйста / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]