2010-09-15 33 views
0

我知道可以在沒有SEI的情況下創建一個jaxws:endpoint,只要你有wdslURL,serviceName & endpointName,地址。使用Spring XML,創建一個沒有服務類的JAX-WS客戶端

我看到很多關於wsdl2java的示例,然後使用該類的值作爲serviceClass屬性。和許多基於Java的示例一樣,我對基於Spring的XML更感興趣。

例如,這裏是我現在有它不喜歡我:

<jaxws:client id="jaxwsIngest" xmlns:n="webservice.ingest" 
      address="http://localhost:8088/IngestService" 
      wsdlLocation="http://localhost:8088/IngestService?WSDL" 
      serviceName="n:IngestService" 
      endpointName="n:IngestServicePort"> 
      <jaxws:properties> 
        <entry key="dataFormat" value="PAYLOAD"/> 
      </jaxws:properties> 
    </jaxws:client> 

是否有可能做同樣喜歡JAXWS東西:端點JAXWS:客戶端?實際上,我所擁有的只是WSDL文件& WebService的IP。

有沒有辦法查詢,並通過GET獲取serviceClass值?像我們如何做http://?WSDL

我看到的所有例子似乎都認爲serviceClass attr是必需的。

由於提前, 亞倫

回答

0

由於這個問題是2個月後開放,我覺得我可以給出一個答案,儘管我的JAX-WS(和無彈簧)的內部運作的稀缺知識。

你需要一個服務類的原因是getPort函數是通用的,並且將返回該類的一個實例(或可能是接口)。這個類是通過消化wsdl生成的(檢出螞蟻的wsconsume)。它是調用web服務的接口。更多細節:http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

其他的答案是有用的:

JAX-WS client : what's the correct path to access the local WSDL?

JAX-WS Loading WSDL from jar

如果你想希望生成您的飛行服務類沒有接口的本地副本,那麼你就需要做一些超級幻想的反思的東西。這超出了我和Google的大部分,儘管我已經看到一些人在爲他們的論文做這些事情。

相關問題