为什么GlassFish和JBoss提供不同的WSDL?

时间:2010-10-12 13:38:20

标签: java web-services jboss glassfish

我有一个由Java构建的Web服务,并部署在两个名为“GlassFish”和“JBoss”的应用服务器上。现在,当我们从它们获取WSDL时,每个应用程序服务器生成不同格式的WSDL,.NET wsdl.exe工具生成不同的对象模型和代理类。所以我不能使用相同的客户端.NET代码来调用两个应用程序服务器Web服务。怎么了?我该怎么办?

感谢。

2 个答案:

答案 0 :(得分:1)

也许JAX-WS和JAXB的实现是不同的,因此产生不同的结果。您有两种选择:

  • 首先是WSDL。生成您的WSDL并将其用作服务的基础。
  • 虽然很难转向这种范式
  • 将其中一个app服务器中的相应jar(jax-ws / jaxb)替换为另一个。最好不要集中替换它们,而是将app服务器配置为使用新服务器(例如,将glassfish放在endorsed中)

最终,我认为只使用一个应用服务器是明智的。可能会出现这样的多个问题。

答案 1 :(得分:0)

我敢打赌一个人正在使用Axis1库而另一个正在使用Axis2,请检查wsdl生成他们正在使用的wsdl规范(查看prolog,wsdl开头的部分)。

顺便说一句,你应该详细研究wsdl规范,你的场景超出了你的知识范围。

http://www.w3.org/TR/wsdl

http://www.w3.org/TR/wsdl20/