我知道这个问题已被问过几次,但我检查了stackoverflow的历史/问题,并没有完全回答我想要做的事情。我有一个WSDL。我想为该WSDL生成一个Web服务。我知道我必须手动写一些东西,但那是我需要帮助的部分。
我有一个WSDL。我将它保存在/home/username/java/ws/wsdl/test.wsdl中。我在前面提到的WSDL使用的/home/username/java/ws/wsdl/test.xsd上也有一个xsd。
我为此生成了服务器存根:
[/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人。
感谢任何帮助。
谢谢!
答案 0 :(得分:0)
通常,web服务将安装在war web文件中的Java Web服务器上,例如Tomcat,Jboss,Jetty,Websphere。
您尝试作为独立应用程序手动运行它,并且所有独立应用程序都需要一个名为main
的主函数,例如C或C#。
那么,您实际上是如何在网络服务器上或作为独立应用程序进行部署的呢?
如果您将其作为独立应用程序执行,那么您将需要一个嵌入式http服务器,顺便说一句。