User Tools

Site Tools


kurs:soap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

kurs:soap [2014/09/10 21:22] (current)
Line 1: Line 1:
 +==== Client ====
 +
 +<​code>​
 +use warnings;
 +use strict;
 +
 +use SOAP::Lite; ##  +trace => '​debug';​
 +use Getopt::​Long;​
 +use Data::​Dumper;​
 +
 +my $opt  = {};
 +
 +GetOptions($opt,​
 +        '​server=s',​
 +        '​command=s',​
 +        '​urn=s',​
 +);
 +
 +my $NS     = "​urn:"​. ($opt->​{urn} || "​SOAPServer::​Handler"​);​
 +my $HOST = '​http://'​.$opt->​{server};​
 +
 +my $soap = SOAP::Lite
 +  ->​readable(1)
 +  ->​uri($NS)
 +  ->​proxy($HOST);​
 +
 +my $soapd = new SOAP::​Data->​type(hash => $opt);
 +
 +my $som = $soap->​command($soapd);​
 +
 +#print Dumper $som;
 +print Dumper $som->​result;​
 +</​code>​
 +
 +==== Server ====
 +
 +=== httpd.conf ===
 +<​code>​
 +Listen 9876
 +<​VirtualHost _default_:​9876>​
 +  ServerName ​    SOAP
 +  ErrorLog ​      /​var/​log/​apache2/​soap_error.log ​ ## funktioniert nur richtig wenn apache richtig kompiliert
 +  TransferLog ​   /​var/​log/​apache2/​soap_transfer.log
 +  <​Location /soap>
 +        SetHandler perl-script
 +        PerlHandler Apache2::​SOAP
 +        PerlSetVar dispatch_to SOAPServer::​Handler
 +  </​Location>​
 +
 +</​VirtualHost>​
 +</​code>​
 +
 +
 +<​code>​
 +package SOAPServer::​Handler;​
 +
 +use SOAP::Lite;
 +
 +sub command {
 +  my ($class, $soap_hash) = @_;
 +  $data = SOAP::​Data->​new;​
 +  $data->​type(hash => {result => 'wir gratinieren'​});​
 +  print STDERR "​blafasel\n";​
 +  return $data;
 +}
 +
 +1;
 +</​code>​
 +
 +
 +
 +
 +
  
kurs/soap.txt ยท Last modified: 2014/09/10 21:22 (external edit)