使用 WSGEN 生成工件时"Missing SEI"



我是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);
      }
  }

我面临的问题是我想使用此命令(一个衬里)从命令行生成工件:

C:Program FilesJavajdk1.7.0_05binwsgen 
     -cp "c:usersmicoworkspaceSOAcalcWSsrccom.calc.ws.Calculator" 
     -verbose 
     -d "C:usersmicoclasses"

我得到此错误:

Missing SEI.

是什么原因引起的?

wsgen.exe以下列方式调用:

WSGEN [options] <SEI>

它读取Web 服务端点实现 class(sei),并生成用于Web服务部署的所有必需工件,并调用。

在您发布的命令行中,我只看到选项,您指定没有SEI。从这里开始消息"丢失SEI"(即您没有提供强制性命令行参数)。

我不知道您的确切设置,但是如果我有这个结构:

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

如果我运行(一行):

wsgen -cp c:tempclasspath 
      -keep 
      -s c:tempgenerated 
      com.calc.ws.Calculator

我会上课,但是如果我只运行:

wsgen -cp c:tempclasspath 
      -keep 
      -s c:tempgenerated 

我会得到:

Missing SEI
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...

在我的情况下,我正在从jax-rpc迁移到jax-ws,然后更改了软件包名称。通过更改它,我将不得不更改XML文件中的所有映射,例如WebServices.xml中。一个简单的解决方案,如果您获得"缺少SEI" 错误将是找到并删除 webservices.xml 文件,并且与Jax-ws一起使用。

对于我的情况。这项工作。

  1. cd {project_path}/bin
  2. " c: program文件 java jdk1.7.0_05 bin wsgen" -cp。com.calc.ws.calculator - 静脉 -d" c: users mico class "
  3. 完成。

相关内容

  • 没有找到相关文章