2015-03-03 54 views
0

是否可以將兩個或多個JAX-WS端點作爲WSDL:端口發佈到單個WSDL:服務中以使用一個wsdl包含以下內容?JAX-WS:兩個或多個端點作爲一個服務和WSDL的端口

<definitions ...> 
    ... 
    <service name="Airport"> 
     <port name="Cargo" binding="tns:CargoBinding"> 
      <soap:address location="http://localhost:9999/"/> 
     </port> 
     <port name="Civil" binding="tns:CivilBinding"> 
      <soap:address location="http://localhost:9999/"/> 
     </port>   
    </service> 
</definitions> 

這個想法是將兩個邏輯上相似的服務合併爲一個。我想知道如何使用Endpoint.publish來實現這一點?

回答

0

是的。在WSDL定義中,服務是相關端點的集合,並且端點必須具有由URI標識的唯一地址。在你的代碼中,兩個端點的地址是相同的。

對於不同的端口端點,您必須多次調用Endpoint.publish。 當你的WSDL定義,

Cargo cargo = new CargoImpl(); // Cargo is endpoint interface 
Endpoint.publish("http://hostname/service/cargo", cargo); 
Civil civil = new CivilImpl(); 
Endpoint.publish("http://hostname/service/civil", civil); 
+0

好吧,也許你知道什麼是JAX-WS端點解決兩個或多個實例下一個WSDL結合? – chaplean 2015-03-04 11:34:31

+0

@ chaplean更新。 – zankard 2015-03-04 15:48:59

+0

不幸的是,這產生了兩個獨立的WSDL,但沒有標記 – chaplean 2015-03-05 05:32:57

相關問題