当前位置: 首页 > 知识库问答 >
问题:

未部署Websphere 8.5 web服务

董砚
2023-03-14

我很难让web服务在WebSphere上工作。我有一个ejb-jar,它使用JAXWS注释@WebService定义了一个web服务。然后这个ejb-jar被打包到一个EAR中。我已经成功地将ear部署到Glassfish上,并且能够访问我的WebService。但是,当我试图将相同的ear部署到WebSphere8.5中时,我没有看到任何公开的WebService。为了使这个ear在WebSphere中工作,我需要采取哪些步骤?

共有1个答案

钱朝明
2023-03-14

为了查看WebSphere单元中可用的Web服务,从管理控制台选择Services,然后选择Service Providers。

如果您部署了一个包含Web服务的EAR,并且在WAS中看不到Web服务可用,那么最好的办法是首先查看WAS日志(常规日志+FFDC日志),以查看WAS在处理服务类时是否出现了问题(无论出于何种原因)。

如果这没有帮助,您可以配置WAS为JAX-WS操作发出跟踪数据。

我以前遇到过类似的问题,当时WAS没有处理我的Web服务类,也没有在日志中写任何关于它的内容。只有在设置了跟踪之后,我才发现了问题所在,这可能与您遇到的问题类似:它与试图部署JAX-WS服务有关,而以下是正确的-

  1. EAR包含JAX-WS服务的源代码;和
  2. EAR不包含编译Web服务类所需的所有类(或Web服务类直接使用的任何类)。

说明:当您将EAR部署到WebSphere并指定当EAR包含应用程序的源代码时应该部署Web服务(-deployws)时,WebSphere会表现得很聪明,并尝试重新编译您的代码。为什么?把我打得屁滚尿流,但事情就是这样。如果WebSphere无法编译JAX-WS Web服务类或Web服务类使用的任何类,它就会放弃,不向日志写入任何内容,并且根本无法部署服务。

如果激活了JAX-WS跟踪,WebSphere将此记录到一个跟踪文件中。

(我正考虑为此与IBM合作开发一个PMR,但当时我已经开发了大约10个PMR...)

 类似资料:
  • 部署服务 我们使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点运行。 新建服务 现在我们在上一节创建的 Swarm 集群中运行一个名为 nginx 服务。 $ docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine 现在我们使用浏览器,输入任意节点 IP

  • 我一直试图在tomcat上部署一个简单的Web服务,但我没有成功,它总是返回我404错误。 我使用了这个例子中的代码 http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/ 但无法使用war,因为我在服务器中设置了上下文信息。xml 因此,我使用了与mkyong相同的代码,但在部署时遵循以下步骤:

  • 我试图调试我的项目,但它显示错误消息: “无法为模块部署WebForm部署错误:WebForm:部署期间发生错误:准备应用程序时出现异常[EclipseLink-4002](Eclipse持久性服务-2.3.2.v20111125-r10461):org。日食坚持不懈例外。DatabaseException内部异常:java。sql。SQLException:分配连接时出错。原因:无法分配连接,因

  • 服务端部署 1. 源码部署 CAT安装环境 Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5 Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持 Maven 3及以上 MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性

  • 部署模式 SOFARegistry 支持两种部署模式,分别是集成部署模式及独立部署模式,本文将介绍最简单的单节点集成部署模式,更多更详细的部署模式介绍可以查看 部署文档。 部署步骤 1. 下载源码或者安装包 下载源码方式 git clone https://github.com/sofastack/sofa-registry.git cd sofa-registry mvn clean packa

  • 关于aiohttp服务器部署,这里有以下几种选择: 独立的服务器。 使用nginx, HAProxy等反向代理服务器,之后是后端服务器。 在反向代理之后在部署一层gunicorn,然后才是后端服务器。 独立服务器 只需要调用aiohttp.web.run_app(),并传递aiohttp.web.Application实例即可。 该方法最简单,也是在比较小的程序中最好的解决方法。但该方法并不能完全