2010-04-17 115 views
1

我有一些Web服務,我正在使用ws-import創建Web客戶端。使用相同的客戶端訪問相同的Web服務

當創建客戶端我有這樣一行:

MyServiceService service = new MyServiceService(); 

它正常工作,因爲它是。

我在另一臺服務器上運行相同的Web服務,我想知道是否可以使用相同的客戶端訪問它們。是否有可能更改客戶端的wsdl網址? Eclipse中的Ctrl-Space爲我提供了2個參數,我可以輸入到MyServiceService中,它們是URL arg0和Qname arg1。這是我在找什麼?如果這算什麼,我應該把在QName的,因爲我沒有找到任何相關的Javadoc,並沒有發現它在谷歌既不

感謝和問候的情況下, Krt_Malta

回答

0

是的,你可以這樣做。正如您懷疑的那樣,您需要使用服務類上生成的構造函數this signature。正如你所看到的,它有兩個參數:一個QName和一個Url。

QName有點難以確定。您必須查看爲您的服務類的無參數構造函數生成的源代碼(以及類中的@Service屬性)。如果你這樣做,你應該能夠確定無參數構造函數使用的QName。只需用這些相同的值構造一個QName,然後使用它。

Url很簡單:只需使用您想要訪問的wsdl url。

+0

P.S.如果您仍然無法確定要使用的QName,請發佈生成的服務存根源代碼,然後我將能夠向您顯示需要使用的QName。 – 2010-04-17 16:00:26

+0

太棒了! QName是這樣的 private final static QName MYSERVICESERVICE_QNAME = new QName(「http:// MyService /」,「MyServiceService」); 非常感謝! :) – 2010-04-17 16:28:40

相關問題