2009-07-17 11 views
2

別のプロジェクトのクラスを使用しようとするまで、Axis(1.4)Webサービス(Tomcat 6.0.20で動作しています)が正常に動作しています。Java Axis Webサービスプロジェクトの依存関係が見つかりません

Webサービスプロジェクトとビジネスロジックを含む別のプロジェクトがあります。 Webサービスプロジェクトでビジネスロジックプロジェクトをプロジェクトの依存関係/参照として追加しました。

package MyProject.services; 
import BusinessLogic.Core.TestClass; 

    public class MyServiceImpl implements MyProject.services.MyServiceImpl_PortType { 

    public java.lang.String getServerStatus() throws java.rmi.RemoteException { 
      //BusinessLogic.Core.TestClass core = new BusinessLogic.Core.TestClass(); 
      return "This is working fine!"; 
    } 
} 

上記の方法を呼び出すと、すべて正常に動作します。しかし、getServerStatus()で行のコメントを外すと、NoClassDefFoundExceptionが返されます。

コードは綺麗にコンパイルされていますが、私が見る限り、すべての依存関係を追加しています。 TestClassには、 "Hello"を出力するコンストラクタのみがあり、他の依存関係はありません。

私はJava Webサービスに比較的新しいので、おそらく私が作ったばかげたミスです。あなたはなにか考えはありますか?

答えて

2

を支援プロジェクト。これがTomcat内のWARファイル/フォルダを意味する場合、問題は、あるWebアプリケーションが他のWebアプリケーションを直接(クラスパスを含む)見ることができないことです。

もしそうでなければ、あなたが見ているものと期待するものについて非常に具体的なものとして質問を編集してください。

+0

私はEclipseのさまざまなプロジェクトを意味します。私は、プロジェクト参照を追加して、名前空間をインポートし、クラスを使用しています。このクラスは、サービスを呼び出すときには見つかりません。 – Ezombort

+1

環境設定 - > Java EEモジュールの依存関係は、どのコンポーネントがwarファイルにデプロイされるかを管理していることに気づいていますか?また、7zipは簡単な瓶/戦争/どんなイントロスペクションを可能にします。私はクラスが配備されていないと信じています。 –

+0

いいえ、私はそれを認識していませんでした。プロジェクトを環境設定 - > Javaビルドパス設定に追加しました。どうもありがとう! – Ezombort

1

あなたはこれをどのように構築し、展開しているかについて言及していません。 TestClassはjarファイルのどこかにありますか?その場合は、デプロイされたシステムのjarファイルはどこにありますか?また、Webサービスクラスはどのように展開されていますか?

+0

私はEclipseからTomcatを実行して、ローカルでテストしています。 TestClassはワークスペース内の別のプロジェクトにあり、Eclipse(Jave Buil Path/Projects)のBusinessLogicプロジェクトへの参照を追加しました。サービス自体は正常に動作しています。サービス実装でTestClassを使用していない限り、.NETプロジェクトからアクセス/呼び出すことができます。 – Ezombort

+0

Tomcatがどのように実行されているか、そしてTestClassがどこで終わっているかを正確に調べる必要があります。個人的に私はいつも展開の観点からTomcatをデバッグすることを好みました。つまり、実稼働のために何をするにしても、それに対してデバッガを実行します。これは、これらの問題が生産上の問題である場合にのみ問題となることを意味します。 –

+0

OK、サービスを私のサーバーに展開しようとします。デバッグにはどんなツールが好きですか? – Ezombort

1

これは、あなたの質問への答えではないですが、あなたがこの無料soapui

が生成されるWSDLを見て、サービスのメソッドを呼び出すために使用することができます。 これは、あなたが(あなたが後の段階で行う必要があります)第二のテストクライアントにスタブをコンパイルおよびデプロイすることなく、あなたのサービスをテストすることができることを意味し

・ホープこれはあなたが異なるでそれらを持っていると言う

+0

ニース、ありがとう。私はそれを試してみます。 – Ezombort

関連する問題