Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передать параметры сервису. SOAP. / 3 сообщений из 3, страница 1 из 1
10.09.2014, 16:22
    #38743240
yura1985
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметры сервису. SOAP.
Добрый день всезнающий пипл Perl-а.
Подскажите правильный синтаксис... дергаю сервис. Если явно задаю параметры - все отрабатывает отлично, но когда передаю параметры масивом... ничего не работает, а мне нужно именно масивом
Код: 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.
use SOAP::Lite;
use strict;

my $user="testUser";
my $password="testPassword";
my $notify="true";
my $service_url='http://10.44.66.148:8080/email/EmailWS?wsdl';
#my $service_url='http://webservices.uship.com/uShipsvc.asmx?WSDL';

my $client = SOAP::Lite->service($service_url); 

$client->on_fault(
 sub { # SOAP fault handler
     my $soap = shift;
        my $res = shift;
        # Map faults to exceptions
        if(ref($res) eq '') {
            die($res);
        } else {
            die($res->faultstring);
        }
        return new SOAP::SOM; }
);

my $result = $client->ModifyProfile($user, $password, $notify);
print $result . "\n\n";


... а если передаю массивом то не работает

Код: 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.
use SOAP::Lite;
use strict;

my $user="testUser";
my $password="testPassword";
my $notify="true";
my $service_url='http://10.44.66.148:8080/email/EmailWS?wsdl';
#my $service_url='http://webservices.uship.com/uShipsvc.asmx?WSDL';

my $client = SOAP::Lite->service($service_url); 

$client->on_fault(
 sub { # SOAP fault handler
     my $soap = shift;
        my $res = shift;
        # Map faults to exceptions
        if(ref($res) eq '') {
            die($res);
        } else {
            die($res->faultstring);
        }
        return new SOAP::SOM; }
);

my @params = SOAP::Data->name("ModifyProfile" =>  
  \SOAP::Data->value((
		SOAP::Data->name("user" => 'testUser'),
		SOAP::Data->name("password" => 'testPassword'),
		SOAP::Data->name("notify" => 'true')
		
		
)));

print $result . "\n\n";



Что я делаю не так???
...
Рейтинг: 0 / 0
11.09.2014, 11:55
    #38743991
yura1985
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметры сервису. SOAP.
Возможно формат файла... подскажет решение
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ModifyProfile xmlns="http://test.ua/">
      <user xsi:type="xsd:string">testUser</user>
      <passwordxsi:nil="false" xsi:type="xsd:string">testPassword</password>
      <notify xsi:nil="false" xsi:type="xsd:boolean">true</notify>
    </ModifyProfile>
  </soap:Body>
</soap:Envelope>
...
Рейтинг: 0 / 0
11.09.2014, 12:50
    #38744079
yura1985
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметры сервису. SOAP.
Да... текст ошибки ... такой "String value expected instead of SOAP::Data reference"
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передать параметры сервису. SOAP. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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