4

Webサービス開発初心者です。wsgen.exe を使用してアーティファクトを生成したいと考えています。

これが私のコードです:

  package com.calc.ws;

  import javax.jws.WebService;

  @WebService
  public class Calculator {
      public int add(int a, int b) {
          return (a + b);
      }
      public int sub(int a, int b) {
          return (a - b);
      }
  }

私が直面している問題は、このコマンド (1 つのライナー) を使用してコマンド ラインからアーティファクトを生成する場合です。

C:\Program Files\Java\jdk1.7.0_05\bin\wsgen 
     -cp "c:\users\mico\workspaceSOA\calcWS\src\com.calc.ws.Calculator" 
     -verbose 
     -d "C:\users\mico\classes\"

次のエラーが表示されます。

Missing SEI.

これは何が原因ですか?

4

4 に答える 4

4

Wsgen.exeは次のように呼び出されます。

WSGEN [options] <SEI>

Webサービスエンドポイント実装クラス(SEI)読み取り、Webサービスのデプロイと呼び出しに必要なすべてのアーティファクトを生成します。

投稿したコマンドラインで、オプションのみが表示され、SEIを指定していません。そして、ここから「SEIがありません」というメッセージが表示されます(つまり、必須のコマンドライン引数を指定していません)。

私はあなたの正確な設定を知りませんが、私がこの構造を持っているとしたら:

c:\temp
├───classpath
│   └───com
│       └───calc
│           └───ws
│               └───Calculator.class
└───generated

私が(1行で)実行した場合:

wsgen -cp c:\temp\classpath 
      -keep 
      -s c:\temp\generated 
      com.calc.ws.Calculator

クラスを取得しますが、実行する場合は次のようになります。

wsgen -cp c:\temp\classpath 
      -keep 
      -s c:\temp\generated 

私は取得します:

Missing SEI
于 2012-11-02T21:03:03.120 に答える
1
The error "Missing SEI" means Service Endpoint Interface is missing. Please create an interface for your service. please refer below code:

Service Interface:
package com;
import javax.jws.WebService;

@WebService
public interface Calculator {
    public int add(int a, int b);
    public int sub(int a, int b);
}

Service Class implementing Service Interface:
package com;

import javax.jws.WebService;

@WebService
public class CalculatorImpl implements Calculator {
    public int add(int a, int b) {
        return (a + b);
    }
    public int sub(int a, int b) {
        return (a - b);
    }
}

Command which i have used is:
>wsgen -cp . com.CalculatorImpl -keep -verbose -d ./stub

Before executing above please make sure that destination folder stub is already created.

Please try and let me know if still you are facing issue in this...
于 2012-11-02T18:20:24.610 に答える