2013-03-21 34 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