我第一次尝试了一个简单的网络服务程序。当我运行应用程序时,GlassFish 中只运行“web”引擎。“webservices”引擎未启动。我已经安装了 java ee sdk 1.6
7 回答
我假设你已经在你的类上创建了一个带有 Webservices 注释的动态 Web 项目。在部署时,登录到 Glassfish 管理控制台,然后导航到应用程序并在引擎列下查看您部署的应用程序,Glassfish 仅显示 Web 而不显示 Web 服务。
要启用 web 服务,您的类似乎没有在默认的 build/classes 目录下编译。
执行以下任一操作:右键单击您的项目 > 构建项目。或转到 Eclipse 菜单 > 项目 > 自动构建
现在再次重新部署您的应用程序。webservices 引擎应该与 web 引擎一起可见。
确保您使用的是完整配置文件而不是Glassfish 的Web版本
在你的 glassfish bin 文件夹中检查以下命令中是否有 webservices glassfish4\bin>asadmin list-containers 如果没有你有 web 版本
转到https://glassfish.java.net/download.html并下载、解压缩和替换您的文件
我有类似的问题。实际上项目正在使用 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”选项也可以在远程服务器上使用,并且可以链接到“View Endpoint”并且 wisdl 可用。
根据 oracle 页面,webprofile 和 full profile glassfish 之间存在差异
选项
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 文档还指出:
如果您使用的是网络配置文件,您还可以使用更新工具来获取默认包含在完整平台中的技术,例如:
- 企业 Java Bean
- 地铁
- 球衣
我确实有 GlassFish 服务器的完整配置文件,所以我所做的是手动执行我的 java 类的 wsdl url。例如:
我的 Java 类是“Test”:url = http://localhost:8080/ProjectName/TestService?wsdl
然后我重新加载 glassfish 管理员的应用程序选项卡。完成问题解决。
希望这对任何人都有帮助
- 从当前的 eclipse ide 中删除你的 glassfish4 服务器(eclipse 必须支持 jee)。
- 转到 Eclipse 菜单栏中的 Windows 选择显示控制台并选择服务器。
- 单击控制台中的安装新服务器链接。
- 选择JDK1.8而不是默认jre。之后选择 glassfish 4.0 安装。
- 浏览您希望安装 glassfish 的目录(最好在 C:/Program Files/glassfish 中选择)。
- 单击安装服务器按钮。接受许可并等待您的 glassfish 4.0 被 eclipse ide 安装。
- 最后部署您的应用程序,它将显示 Web 服务并查看 EndPoint。
Oracle 网站上有两种类型的 Java EE 版本。
i) Java EE 7 平台 SDK
ii) Java EE 7 Web Profile SDK
如果您想在 GlassFish 应用程序上看到“webservices”引擎启动,那么您必须使用“Java EE 7 Platform SDK”版本...