2015-01-09 52 views
0

我是一名Java程序員,創建了一個WSDL,定義了一個應該由其他公司的提供者實現的Web服務,這樣我的系統就可以統一調用不同的提供者。 在Java中使用WSDL工作正常 - 我可以生成一起工作的服務器和客戶端,並且Endpoint.publish(URL)尊重WSDL並僅通過aditional評論和替換的服務url進行發佈。.NET在生成Web服務時可以保留WSDL嗎?

現在的問題:其中一個提供程序使用.NET asmx來實現該服務,這似乎完全轉換WSDL(通過獲取https://<providers-service-url>?WSDL)和服務失敗時,我使用我生成的類(從原始生成wsdl即可)調用服務。錯誤表示NPE的.NET等價物。指向正在運行的服務時,SOAPUI可以正常工作。

我相信提供商使用

wsdl.exe /serverInterface <my.wsdl> 

生成他的服務。

於是問題來任何.NET大師那裏是:

提供商應該如何產生的服務,所以它與客戶一起從原來的WSDL生成?

.NET服務可以保留原始WSDL,因此https://<providers-service-url>?WSDL與原始WSDL幾乎相同嗎?

感謝您的任何意見。

回答

0

WSDL實際上只是一種規範文檔,它允許那些正在實現服務的人查看它所公開的方法以及終端等。我過去曾使用.NET來使用Java Web服務, WSDL文件真的起了一點作用。 .NET開發人員可以通過Visual Studio IDE簡單地創建對該服務的引用。這將創建他需要的任何類來實現各種方法。當然,他必須知道安全模型是什麼,才能實現正確的綁定。很多人會說Java對.NET並不好,在這方面肯定有克服的障礙,但我個人從來沒有遇到過在.NET中無法使用的Java Web服務。 。

+0

謝謝埃裏克,但我不確定我是否已經說清楚了。如果我忘記了原始的WSDL,生成客戶端和使用提供者在.NET中創建的服務時,我沒有任何問題,但是我需要從WSDL生成客戶端類,讓提供者使用.NET生成服務並然後將我的客戶指向他的Web服務。但是由於他的生成服務的方式會改變服務(以及發佈的WSDL),因此調用失敗。所以在我的情況下,WSDL是這個問題的核心。 –

相關問題