未部署Websphere 8.5 Web服务

时间:2013-07-31 21:02:16

标签: web-services websphere jax-ws

我很难在Websphere上使用Web服务。我有一个ejb-jar,它有一个定义的Web服务,使用JAXWS注释@WebService。然后将该ejb-jar包装到耳朵中。我已成功将耳朵部署到Glassfish上,并且能够访问我的WebService。但是,当我尝试将相同的内容部署到Websphere 8.5中时,我没有看到任何暴露的WebService。我需要采取哪些步骤才能使这个耳朵在Websphere中运行?

如何查看Websphere管理控制台中可用的WebServices?

由于

3 个答案:

答案 0 :(得分:3)

要在WebSphere单元中查看可用的Web服务,请从管理控制台中选择“服务”,然后选择“服务提供商”。

如果您部署了包含Web服务的EAR,并且您无法在WAS中看到Web服务,那么您最好的选择是首先查看WAS日志(常规日志+ FFDC日志)看看也许WAS在处理你的服务类时遇到了问题(无论出于何种原因)。

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

在WAS没有处理我的Web Service类并且没有在其日志中写入任何内容之前,我遇到过类似的问题。只有在我设置了跟踪后,我才发现问题是什么,可能与您遇到的问题类似:它与WAS尝试部署JAX-WS有关当以下情况属实时提供服务 -

  1. EAR包含JAX-WS服务的源代码;和
  2. EAR不包含编译 Web Service类(或Web Service类直接使用的任何类)所需的所有类。
  3. 解释:将EAR部署到WebSphere并指定在EAR包含应用程序源代码时应部署Web服务(-deployws >,WebSphere发挥智能,继续尝试重新编译代码。为什么?打败我的生活地狱,但事实就是如此。如果WebSphere无法编译您的JAX-WS Web Service类 - 或Web Service类正在使用的任何类 - 它只是放弃,不向日志写入任何内容,并且您的服务根本没有部署。

    如果JAX-WS跟踪被激活,那么WebSphere将记录此文件的唯一位置是跟踪文件。

    (我考虑与IBM合作开设PMR,但当时我已经开了大约10个PMR ......)

答案 1 :(得分:1)

我不使用websphere 8.5,但是在websphere 7中,在使用soap / http(或JMS)访问Web服务(实现为无状态ejb)之前还需要一个额外的步骤 - 必须使用endptEnabler工具。在部署到WAS之前,请在您的ear文件中使用它。也许在websphere 8.5上需要相同的过程。

在我的websphere 7安装中,该工具可以在[WEBSPHERE] / AppServer / bin目录中找到。只需在命令行上运行它并部署耳朵。

答案 2 :(得分:0)

  

如何查看Websphere管理控制台中可用的WebServices?

这适用于不在EAR中的WebModule(例如直接部署为战争的e.G.)。 如果将WebService部署为EAR的模块:卸载EAR,单独部署战争并按照以下步骤操作,最后URL是相同的。

  1. Open Admin Cosole&登录
  2. Anwendungen
  3. Geschäftsanwendungen
  4. 打开Web应用程序
  5. 在右侧,您有一个区域“Web-Service-Eigenschaften”
  6. 链接“WSDL-Dateienveröffentlichen”打开它。
  7. 下载zip文件。
  8. 在其中,您将找到此模块中所有活动Web服务的wsdl。
  9. 在WSDL中,您找到一个条目<soap:address location=您有WebService。
  10. 我注意到如果我自己没有提供.wsdl文件,这将无效。不过,我还没弄清楚为什么会这样。因此,如果您正在执行此步骤但没有“Web-Service-Eigenschaften”块,则此战争中没有可用的Web服务(从WebSpheres的角度来看)。为项目中的Web服务创建一个.wsdl文件,并使用.war进行部署。

相关问题