如何从WSDL生成Web服务

时间:2011-06-21 21:52:44

标签: java linux wsdl wsimport

我知道这个问题已被问过几次,但我检查了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人。

感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

通常,web服务将安装在war web文件中的Java Web服务器上,例如Tomcat,Jboss,Jetty,Websphere。

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

那么,您实际上是如何在网络服务器上或作为独立应用程序进行部署的呢?

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