我第一次尝试了一个简单的Web服务程序。 当我运行应用程序时,只有“web”引擎在GlassFish中运行。 “webservices”引擎未启动。 我已经安装了java ee sdk 1.6
答案 0 :(得分:5)
我假设您已经在类上创建了一个带有Webservices注释的动态Web项目。在部署,登录到Glassfish管理控制台,然后导航到应用程序并在Engines列下查看已部署的应用程序时,Glassfish仅显示Web而不显示Web服务。
要启用Web服务,您的类似乎不会在默认的构建/类目录下进行编译。
执行以下任一操作: 右键单击您的项目>建设项目。 或者去eclipse菜单>项目>自动构建
现在再次重新部署您的应用程序。 webservices引擎应该与Web引擎一起可见。
答案 1 :(得分:4)
确保您使用完整个人资料而不是 Web 版本的Glassfish
在您的glassfish bin文件夹中的检查以下命令是否包含webservices glassfish4 \ bin> asadmin list-containers 如果没有,你有网络版
转到https://glassfish.java.net/download.html并下载,解压缩并替换您的文件
答案 2 :(得分:1)
我有类似的问题。实际上项目正在使用NetBeans和本地GlassFish,但当我部署在GlassFish 4.1.1(在amazon linux上)" webservices"发动机没有启动。我按照上一个答案(表格mposadar)并在类初始化程序块中添加:
@WebService(endpointInterface = "service.ITranslate")
public class Translate implements ITranslate
{
{
try {
URL url = new URL("http://MY_INSTANCE.us-west-2.compute.amazonaws.com:8080//Translate/TranslateService?wsdl");
} catch (MalformedURLException ex) {
Logger.getLogger(Translate.class.getName()).log(Level.SEVERE, null, ex);
}
}
...
构建和部署之后," webservices"选项也适用于远程服务器,以及链接到"查看端点"和wisdl可用。
答案 3 :(得分:0)
根据oracle页面,webprofile和完整个人资料glassfish之间有differences
选项
Implementing Java Web Services 1.3
仅针对完整个人资料进行勾选,因此如果您拥有网络个人资料
,则无法使用您可以查看许可证文件名称以确定哪个完整配置文件或Web配置文件
<glassfish install dir>/glassfish/legal/3RD-PARTY-LICENSE.txt
<glassfish install dir>/glassfish/legal/3RD-PARTY-LICENSE-WEB-PROFILE
Glassfish文档还指出:
如果您使用的是网络配置文件,您还可以使用更新工具获取完整平台默认包含的技术,例如:
- Enterprise Java Beans
- Metro
- 泽西
答案 4 :(得分:0)
我确实拥有GlassFish服务器的完整配置文件,所以我做的是手动执行我的java类的wsdl url。例如:
我的Java类是“测试”:url = http://localhost:8080/ProjectName/TestService?wsdl
然后我重新加载glassfish管理员的aplication选项卡。 完成问题解决。
希望这有助于任何人
答案 5 :(得分:0)
答案 6 :(得分:-1)
Oracle网站上有两种类型的Java EE。
i)Java EE 7 Platform SDK
ii)Java EE 7 Web Profile SDK
如果你想在GlassFish应用程序上看到“webservices”引擎,那么你必须使用“Java EE 7 Platform SDK”版本......