2010-09-09 92 views
1

我試圖模擬未完成但已設計的java web服務,即我擁有wsdl。 我已經實現了一個.net web服務,並且使用了相同名稱等所需的類和方法。 但是,當我從.net Web服務請求wsdl時,生成的代理類包含後綴「Soap」,.eg而不是FundService,我得到FundServiceSoap。如何更改肥皂服務在.net中生成的自動生成的wsdl

如何刪除Soap位,以便當我最終將其指向已完成的Java Web服務時,我的生成的類將與之匹配。

+0

你確定Java工具不會追加'Soap'嗎? – 2010-09-09 16:24:06

回答

1

您需要問的第一個問題是生成的WSDL是否與原始的Java WSDL相同。它可能是,但它可能不是。

尤其是,在這種情況下,您應該忽略代理類。即使從最初的Java WSDL生成它們,它們也可能在它們的最後有「Soap」。

最有可能的是,生成的WSDL將而不是與原始WSDL相同。它應該是相當於,但它可能不完全相同。如果您需要相同的WSDL,那麼您使用ASMX Web服務後幾乎沒有運氣。您可以做的最好的做法是將原始WSDL放置在與模擬服務相同的網站上。然後,客戶端可以通過指向Service.wsdl而不是Service.asmx?wsdl的URL來獲取原始WSDL。

順便說一句,WCF允許您指定在請求元數據(WSDL)時要返回的WSDL的位置。

1

如果你有WSDL,你可以爲它生成一個服務器存根,wsdl.exe/serverInterface the.wsdl(或類似的,取決於你正在使用的.NET的確切版本)。這將生成符合您已有的WSDL的服務的服務器存根。