客户端无法访问类(xxxxx):无法在@INC - PERL中找到xxxxx.pm

时间:2011-12-19 21:19:16

标签: perl soap

我正在尝试运行Perl SOAP服务器,它启动正常,但是当远程调用某个方法时,我收到以下消息:

  

SOAP :: Serializer :: envelope:客户端无法访问类(HELLO):   无法在(eval 127)第3行的@INC(@INC contains :)中找到HELLO.pm。

现在我假设这是因为@INC没有指定我的HELLO.pm文件所在的位置?虽然我可以在哪里定义这个?我已经尝试将以下内容添加到我的脚本中并将类(Hello.pm)放在那里但没有运气:

BEGIN {
  push(@INC, '/etc/perl/');
};

我的代码如下(soapserver.pl):

BEGIN {
  push(@INC, '/etc/perl/');
};
#- SoapHttpServerTrace.pl
#- Copyright (c) 2002 by Dr. Herong Yang
   use SOAP::Lite +trace;
   use SOAP::Transport::HTTP;
   my $daemon = SOAP::Transport::HTTP::Daemon
      -> new (LocalAddr => 'XX.XX.XX.XX', LocalPort => 8001, listen => 5);
   $daemon -> dispatch_to('Hello::hello');
   print "Contact SOAP server at ", $daemon->url, "\n";
   $daemon->handle();

1 个答案:

答案 0 :(得分:5)

您说您的文件名为Hello.pm,但错误消息表示尝试加载HELLO.pm。解决其中任何一个是错误的。