未部署Websphere 8.5 Web服务 [英] Websphere 8.5 web services not deployed

查看:367
本文介绍了未部署Websphere 8.5 Web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难在Websphere上使用Web服务.我有一个使用JAXWS批注@WebService的ejb-jar,它具有已定义的Web服务.然后将这个ejb-jar封装到耳朵中.我已经成功地将耳朵部署到了Glassfish上,并且能够访问我的WebService.但是,当我尝试将相同的耳朵部署到Websphere 8.5中时,看不到任何公开的WebService.我需要采取什么步骤才能使这种耳朵在Websphere中正常工作?

如何在Websphere管理控制台中查看可用的Web服务?

谢谢

解决方案

为了查看WebSphere单元中的可用Web服务,请从管理控制台中选择服务",然后选择服务提供者".

如果您部署了包含Web Service的EAR,但您看不到WAS中可用的Web Service,那么最好的选择是首先查看WAS日志(常规日志+ FFDC日志)以查看是否WAS在处理您的服务类时遇到问题(无论出于何种原因).

如果这样做没有帮助,则可以将WAS配置为发出用于JAX-WS操作的跟踪数据.

在WAS不处理我的Web服务类并且在其日志中不写任何内容之前,我遇到了类似的问题.仅在设置跟踪后,我才知道问题出在哪儿,它可能与您遇到的问题类似:它与WAS尝试在何时部署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开了.

I am having a tough time getting a web service working on Websphere. I have an ejb-jar that has a defined web service, using the JAXWS annotation @WebService. This ejb-jar is then packaged into an ear. I have successfully deployed the ear onto Glassfish and have been able to access my WebService. However, when I try to deploy that same ear into Websphere 8.5, I don't see any exposed WebService. What are the steps I need to take to make this ear work in Websphere?

And how do I view what WebServices are available in the Websphere admin console?

Thanks

解决方案

In order to view the available Web Services in the WebSphere cell, from the admin console, select Services and then Service Providers.

If you deployed an EAR containing a Web Service and you can't see the Web Service as being available in WAS, your best bet would be to first look at the WAS logs (regular logs + the FFDC logs) to see maybe WAS had a problem processing your service class (for whatever reason).

If that doesn't help, you can configure WAS to emit trace data for JAX-WS operations.

I encountered a similar problem before when WAS didn't process my Web Service class and wrote nothing about it to its logs. Only once I set up a trace, I figured out what the problem was, which may be similar to the problem you're having: it had to do with WAS trying to deploy a JAX-WS service when the following are true -

  1. The EAR contains the source code for the JAX-WS service; and
  2. The EAR doesn't contain all classes required to compile the Web Service class (or any of the classes being used directly by the Web Service class.

Explanation: when you deploy an EAR to WebSphere and specify that Web Services should be deployed (-deployws) when the EAR contains the source code for your application, WebSphere plays smart and goes ahead and tries to recompile your code. Why? beats the living hell out of me but it is what it is. If WebSphere fails to compile your JAX-WS Web Service class - or any class being used by your Web Service class - it simply gives up, writes nothing to the logs and your service doesn't get deployed at all.

The only place where WebSphere would log this would be into a trace file, if the JAX-WS trace was activated.

(I was considering to open a PMR with IBM for this, but I already had about 10 PMRs open at that time...)

这篇关于未部署Websphere 8.5 Web服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆