3 # freeside-selfservice-soap-server
10 use SOAP::Transport::HTTP;
13 use vars qw( $opt_p $opt_d $opt_s );
14 use vars qw( $DEBUG );
18 my $tag = $opt_s ? $opt_s : '';
19 $tag = ($opt_s ? ':' : '') . $opt_p ? ':'.$opt_p : '';
21 my $log_file = "/usr/local/freeside/selfservice.soap$tag.log";
24 defined($pid) or die "Can't fork to start: $!";
25 print "Started daemon with pid $pid\n" if $pid;
29 open STDIN, "/dev/null" or die "Can't get rid of STDIN";
30 open STDOUT, ">/dev/null" or die "Can't get rid of STDOUT";
31 open STDERR, ">&STDOUT" or die "Can't get rid of STDERR";
33 $SIG{__WARN__} = \&_logmsg;
34 $SIG{__DIE__} = sub { &_logmsg(@_); exit };
36 my $daemon = SOAP::Transport::HTTP::Daemon
37 ->new($opt_s ? (LocalAddr => $opt_s) : (), LocalPort => $opt_p ? $opt_p : 8080)
38 ->dispatch_to('/usr/local/freeside/SOAP/') #, 'FS::SelfService'
39 ->objects_by_reference('iZoomOnlineProvisionService')
42 warn "Handling request at ", $daemon->url, "\n";
46 chomp( my $msg = shift );
47 my $log = new IO::File ">>$log_file";
50 print $log "[". scalar(localtime). "] [$$] $msg\n";