2011-12-19 6 views
0

Perl SOAPサーバーを実行しようとしていますが、問題なく起動しますが、メソッドがリモートで呼び出されると、メッセージ:クライアントがクラス(xxxxx)にアクセスできませんでした:@INC - PERLでxxxxx.pmを見つけることができません

SOAP ::シリアライザ::封筒:クライアントは、クラスへのアクセスに失敗しました(ハロー): は@INCでHELLO.pm(@INCが含まれている:)に(evalの127)のライン3を見つけることができません。

これは、@ INCがHELLO.pmファイルの場所を指定していないためです。どこで私はこれを定義できますか? (soapserver.pl)は次のよう

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

私のコードではありません::

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(); 
+4

エラーメッセージを編集しましたか? @INCが空の場合、SOAPがどのようにロードされたかはわかりません。あなたの新しいコードのエラーメッセージは何ですか? – ikegami

答えて

5

あなたが言った私はそこに私のスクリプトに次のクラスを置くの追加(Hello.pm)を試してみましたが、何の運ファイルの名前はHello.pmですが、HELLO.pmをロードしようとしたことを示すエラーメッセージが表示されます。どちらが間違っているかを修正してください。

関連する問題