使用 WSGEN 生成工件时“缺少 SEI”

Mit*_*ogl 5 java web-services jax-ws jaxb wsgen

我是网络服务开发的初学者。我想使用 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);
      }
  }
Run Code Online (Sandbox Code Playgroud)

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

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\"
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Missing SEI.
Run Code Online (Sandbox Code Playgroud)

是什么原因造成的?

Bog*_*dan 5

Wsgen.exe 的调用方式如下:

\n\n
WSGEN [options] <SEI>\n
Run Code Online (Sandbox Code Playgroud)\n\n

读取 Web服务端点实现类 (SEI)并生成 Web 服务部署和调用所需的所有工件。

\n\n

在您发布的命令行中,我只看到选项,您没有指定 SEI。此处显示消息“缺少 SEI”(即您没有提供强制命令行参数)。

\n\n

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

\n\n
c:\\temp\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80classpath\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80com\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80calc\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80ws\n\xe2\x94\x82               \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Calculator.class\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80generated\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我运行(在一行上):

\n\n
wsgen -cp c:\\temp\\classpath \n      -keep \n      -s c:\\temp\\generated \n      com.calc.ws.Calculator\n
Run Code Online (Sandbox Code Playgroud)\n\n

我会上课,但如果我只跑步:

\n\n
wsgen -cp c:\\temp\\classpath \n      -keep \n      -s c:\\temp\\generated \n
Run Code Online (Sandbox Code Playgroud)\n\n

我会得到:

\n\n
Missing SEI\n
Run Code Online (Sandbox Code Playgroud)\n