2013-03-21 65 views
0

我没有编码,我只是被要求帮助找到问题。我对SOAP一无所知。Glassfish v3 + SOAP,现有WebService未启动

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

没问题,服务在portName和serviceName端点上都暴露。

然后,该应用程序被转移到Glassfish v3。 现在只有portName端点可以访问。 serviceName不是。

有没有人有固定此5-6步指南。 我没有心情去浏览另外50页的Oracle文档,承诺帮助解决问题,然后......不。我已经在网路上徘徊了很长时间,并且坦白地说我的智慧终结了。

回答

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的注释指定它。

+0

如果这是解决方案,请将其标记为_accepted_。 – 2014-08-02 16:05:11