Glassfish v3 + SOAP,现有WebService未启动

时间:2013-03-21 13:17:30

标签: web-services soap jax-ws glassfish-3

我没有制作代码,我只是被要求帮助找到问题。我对SOAP一无所知。

从WSDL生成的WebService正在旧的Glassfish v2上运行。

没问题,该服务在portName和serviceName端点都公开。

然后该应用程序被移至Glassfish v3。 现在只能访问portName端点。 serviceName不是。

有没有人有5-6步骤指南来解决这个问题。 我没有心情去挖掘另外50页的Oracle文档,承诺帮助修复问题,然后......没有。我已经花了很长时间在网上跋涉,坦率地说,我的智慧结束了。

1 个答案:

答案 0 :(得分:1)

在实现SOAP类中,将wsdlLocation添加到@WebService批注。 删除sun-web.xml和sun-jaxws.xml,以及从web.xml中删除侦听器com.sun.xml.ws.transport.http.servlet.WSServletContextListener。 最后添加一个基本的glassfish-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <context-root>/</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>

之后,服务器现在找到服务本身,并将它们放在WebService批注指定的位置。