The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Perl SOAP::Lite"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Perl SOAP::Lite"  
Сообщение от help email(??) on 25-Сен-07, 14:19 
кто работал с SOAP::Lite, please отзавитесь
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • Perl SOAP::Lite, NuINu, 15:45 , 25-Сен-07, (1)  
    • Perl SOAP::Lite, help, 15:56 , 25-Сен-07, (2)  
      • Perl SOAP::Lite, NuINu, 17:26 , 25-Сен-07, (3)  
        • Perl SOAP::Lite, help, 17:45 , 25-Сен-07, (4)  
          • Perl SOAP::Lite, NuINu, 17:32 , 26-Сен-07, (5)  
          • Perl SOAP::Lite, NN_was, 15:47 , 04-Дек-07, (6)  

Сообщения по теме [Сортировка по времени | RSS]


1. "Perl SOAP::Lite"  
Сообщение от NuINu (??) on 25-Сен-07, 15:45 
>кто работал с SOAP::Lite, please отзавитесь

:))) и что это тебе даст? читай Хакер, не помню за какой месяц, там пара статей была.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Perl SOAP::Lite"  
Сообщение от help email(??) on 25-Сен-07, 15:56 
>>кто работал с SOAP::Lite, please отзавитесь
>
>:))) и что это тебе даст? читай Хакер, не помню за какой
>месяц, там пара статей была.

нужна помощь в решенние задачи которая использует это

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Perl SOAP::Lite"  
Сообщение от NuINu (??) on 25-Сен-07, 17:26 
>>>кто работал с SOAP::Lite, please отзавитесь
>>
>>:))) и что это тебе даст? читай Хакер, не помню за какой
>>месяц, там пара статей была.
>
> нужна помощь в решенние задачи которая использует это

ты по русски то можешь написать где и в чем проблема. а уж там посмотрим можно помочь или нет. :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Perl SOAP::Lite"  
Сообщение от help email(??) on 25-Сен-07, 17:45 
получяю xml сообщение:
use SOAP::Lite;
my $soap = SOAP::Lite
     -> uri('http://sms.com/daemon')
     -> proxy('http://sms.com/cgi-bin/SMS/2.cgi');
    
$xml = SOAP::Data->name('sms' => \SOAP::Data->value(
       SOAP::Data->name('id' => '3334'),
       SOAP::Data->name('language' => 'en'),
       SOAP::Data->name('text' => 'Jhon')));
                                            
$r=$soap->sms($xml);
$rez = $r -> result;
print "Результат:$rez \n";
exit;

теперь в 2.cgi:
#!/usr/bin/perl -w
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
    -> dispatch_to('daimon')
    -> handle;
package daimon;
sub sms {
$p=@_; # object/class reference
my $param2 = SOAP::Data->name('text'=>$p);
return $param2;
}
должен возращят $param='Jhon' , а он возвращяет $param='2'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Perl SOAP::Lite"  
Сообщение от NuINu (??) on 26-Сен-07, 17:32 
>получяю xml сообщение:
>должен возращят $param='Jhon' , а он возвращяет $param='2'

ну ну.
вот мой пример: сервер serv2.pl:
#!/usr/bin/perl -w


use SOAP::Transport::HTTP;
use Data::Dumper;
use strict;

SOAP::Transport::HTTP::CGI
    -> dispatch_to('daemon')
    -> handle;

package daemon;

sub sms {
    my $p=shift; # object/class reference
    my $envelope = pop;

    my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
    my $logsdir  = "/srv/www_test/log/"; #убедись что для пользователя апач эта директория доступна для записи
    $year += 1900;
    $mon++;
    my $month_logsfile = $logsdir.sprintf("%.4d%.2d.log",$year,$mon);


    open(LOG, '>>', $month_logsfile) or die "Can't open log file $month_logsfile\n";
    print LOG sprintf("%.4d.%.2d.%.2d %.2d:%.2d:%.2d",$year, $mon, $mday, $hour,$min,$sec), " Get query:\n";

    print LOG Data::Dumper::Dumper($envelope);
    $envelope->{'text'} = $envelope->{'text'} . " +server ret";

    close(LOG);
    return $envelope;
}

1;

клиент: client2.pl
#!/usr/bin/perl -w

#use SOAP::Lite;
use SOAP::Lite +trace => [transport=>\&log];
use Data::Dumper;

use strict;

my $soap = SOAP::Lite
     -> uri('http://test.localhost/daemon')
     -> proxy('http://test.localhost/cgi-bin/serv2.pl');

my $xml = SOAP::Data->name('sms' => \SOAP::Data->value(
       SOAP::Data->name('id' => '3334'),
       SOAP::Data->name('language' => 'en'),
       SOAP::Data->name('text' => 'Jhon')));

my $r=$soap->sms($xml);
my $rez = $r->result;
#print "Результат:$rez \n";
#print Dumper($r)."\n";
print Dumper($rez)."\n";
print "Результат:".$rez->{'text'}." \n";

exit(0);

sub log {
    open LOG, ">>client.log";
    print LOG $_[0]->as_string."\n";
    close LOG;
}

1;

ну и то что видит клиент(печатает):
$ ./client2.pl
$VAR1 = {
          'language' => 'en',
          'text' => 'Jhon +server ret',
          'id' => '3334'
        };

Результат:Jhon +server ret

ну и протоколы собственно можно в логе посмотреть.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Perl SOAP::Lite"  
Сообщение от NN_was on 04-Дек-07, 15:47 
>$p=@_; # object/class reference
>должен возращят $param='Jhon' , а он возвращяет $param='2'

потому что в строке $p=@_; # object/class reference
в $p заносится количество элементов в массиве @_, т.е. число 2, а после оно возвращается клиету.
все просто :)).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру