3

我知道这个问题已经被问过几次了,但是我检查了 stackoverflow 历史/问题,它并没有完全回答我想要做的事情。我有一个 WSDL。我想为该 WSDL 生成一个 Web 服务。我知道我必须手动编写一些东西,但这是我需要帮助的部分。

我有一个 WSDL。我将它保存在 /home/username/java/ws/wsdl/test.wsdl 中。我在 /home/username/java/ws/wsdl/test.xsd 也有一个 xsd,由上述 WSDL 使用。

我为此生成服务器存根,如下所示:

[/home/username/java/ws/wsdl/] $ wsimport -p com.uptimeservice.ws -d build/classes -s src wsdl/test.wsdl

现在,我需要一个实现者。我在 /home/username/java/ws/src/WsImpl.java 下创建一个这样的:

package com.uptimeservice;  

import javax.jws.WebService;  

import com.uptimeservice.ws.*;  

@WebService(name = "UptimeService",
        targetNamespace = "test",  
    serviceName = "UptimeService",  
    portName = "UptimeServiceSOAP",  
    endpointInterface = "com.uptimeservice.ws.UptimeService",
    wsdlLocation = "/home/username/java/ws/wsdl/test.wsdl")  
public class WsImpl implements UptimeService {  

@Override
public UptimeResponseType uptimeRequest(UptimeRequestType msg) {  
    UptimeResponseType resp = null;
        return resp;  
    }  
}  

我像这样编译它:[/home/username/java/ws/src/] $ javac -classpath /home/username/java/ws/build/classes/:。com/uptimeservice/WsImpl.java

然后当我尝试部署服务时,如下所示:/home/username/java/ws/src/] $ java -classpath /home/username/java/ws/build/classes/:。com/uptimeservice/WsImpl

我收到错误:线程“main”中的异常 java.lang.NoSuchMethodError: main

我的猜测是,这是一件非常微不足道的事情,但我不是 Java 人。

任何帮助表示赞赏。

谢谢!

4

1 回答 1

0

一般来说,webservice 会安装在 java web 服务器上,例如 Tomcat、Jboss、Jetty、Websphere,在一个 war 文件中。

您正在尝试手动运行它,作为独立应用程序,并且所有独立应用程序都需要一个名为的主函数main,例如 C 或 C#。

那么,您将如何实际部署它,在网络服务器上或作为独立应用程序?

如果您将其作为独立应用程序执行,那么您将需要一个嵌入式 http 服务器,顺便说一句。

于 2011-06-22T01:40:26.977 回答