Loading ...
Sorry, an error occurred while loading the content.

3548Problems with combined urn values

Expand Messages
  • pegesund
    Apr 30 3:47 AM

      I am trying to use a Perl-server and a .Net client. My program works
      fine when i specify the urn to be a single name only
      (dispatch_to("Search") and 'urn:Search'), but when I try a urn like
      'url:Microsoft.Search' things stop to work.

      A strange thing is that the .Net client (Office2003) leaves no
      err-msg. in the log, but the perl client keeps telling me about a
      "Illegal namespace identifier" in the http-log.

      The .Net soap err-msg. caims there is no method Registration in the

      Strange, isn't it?

      I would be very, very happy for a clue (I do not wan't to write this
      part on .Net...)



      My program looks like this:

      ------------------- Client.pl (test only) ----------


      use SOAP::Lite +trace;

      print SOAP::Lite

      -------- Server located in /srv/www/cgi-bin/-----------------


      use SOAP::Transport::HTTP;
      use lib '/srv/www/cgi-bin';
      use lib '/srv/www/cgi-bin/Microsoft';
      use lib "./";
      use Microsoft::Search;
      use SOAP::Lite +trace;

      -> dispatch_with({
      'urn:Microsoft.Search' => 'Microsoft::Search'
      -> handle;

      (I have tried with dispatch_to - both dynamical and static binding
      without any luck).

      ------- Package, located in /srv/www/cgi-bin/Microsoft ----
      use SOAP::Transport::HTTP;
      use lib '/srv/www/cgi-bin';
      use lib '/srv/www/cgi-bin/Microsoft';
      use lib "./";

      package Search;
      require Exporter;

      our @ISA = qw(Exporter);
      our @EXPORT = qw(hi CacheDuration Registration);

      sub hi {
      return "hello happy, world";

      sub CacheDuration { return 86400; }

      sub Registration($) {
      my $in_xml =shift;
      undef $/;
      open(my $fh, '/home/pe/reg.xml');
      my $ret = <$fh>;
      open(THELOG, '>>/tmp/soaplog');
      print THELOG "Function called " . time() . "\n";
      return $ret;