2013-05-28 40 views
0

我正在開發一個新的Web服務在我的公司。我們有一個POJO應用程序服務器通過CORBA和RMI與wxternal客戶端進行通信。爲了讓自己更容易,我決定測試一下在沒有servlet容器的情況下公開Web服務的可能性。如何使xsd文件可用於Web服務客戶端?

這裏的基本代碼

public class ServiceLauncher { 
    private Endpoint endpoint; 

    public ServiceLauncher(){ 
     endpoint = Endpoint.create(new ServiceServer()); 
     endpoint.publish("http://0.0.0.0:1234/Service"); 
    } 
} 

連接到http:// localhost:1234 /服務WSDL工作正常。 Web服務也可以。但是,通過soapUI測試它會失敗,因爲在wsdl文件中導入的某些地址的模式不可用。我面對的錯誤

404未找到 未找到請求

有沒有一種方法,使這些XSD文件訪問客戶背景?

+0

不知道這是否會影響什麼,但你可以嘗試使用127.0.0.1? '端點處發佈。發佈(「http://127.0.0.1:1234/Service」);' – austin

+0

將地址更改爲127.0.0.1沒有幫助。可能的,問題的另一個副作用是WebService類上的@SchemaValidation註釋不起作用。在tomcat上運行服務看起來很好,驗證已啓用。我基本上有2個選擇:堅持使用內置jvm部署解決方案,希望描述的問題,並享受輕鬆重用大量可用的代碼,或部署到tomcat,並搞清楚如何在應用服務器之間傳遞消息和容器和背部。我更喜歡第一個(備用你的細節) – ioikka

回答

1

這是我的一個很大的錯誤。我過於關注文件如何駐留在項目中,以及如何在已經實現的服務中訪問文件(我們正在製作一些已有的文件),而我完全忽略了生成的wsdl(我最近看到過很多文件)。所有xsd文件都可以訪問但具有不同的網址。

我期待(上現有的服務進行測試)類似http://foo:1234/xsd/Entity.xsd ,而不是我http://foo:1234/Service?xsd=1