2013-02-08 96 views
0

我有兩個WCF Web服務公開了幾種Web方法。每個Web服務中的一些Web方法返回相同的模型(我的意思是同一類,不同的對象)WCF與服務共享模型

當我爲兩個服務(兩個不同的WSDL)生成客戶端代碼(Java)時,對象會生成兩次(每個服務一個)。例如

。 WCF服務1暴露:

ObjectTest DoSOmeWork(); 

WCF服務2暴露:

ObjectTest DoSOmeHARDWork(); 

在java中我將有兩個ObjectTest,一個用於每個服務。

有沒有辦法共享這些對象? 有時客戶端需要調用這兩個服務並重用一些對象。

回答

0

我不認爲你可以去WSDL路線 - 但你可以有一個共同的類庫,你可以在你的服務和你的客戶之間共享。

你也可以使用類似Automapper的東西。

+0

我的客戶使用java。服務器在c#中。你說的是我需要在課堂上手工創建代理類並與所有客戶共享它們? – user2055213 2013-02-08 17:47:49

+0

@ user2055213不 - 我指的是純粹的.net實現。 – 2013-02-08 17:50:36

0

添加或配置服務引用時,您可以選擇「重用類型」。然後您可以指向包含這些類型的程序集。客戶和服務將使用該程序集。

如果您的意思是您想要在各種Java客戶端之間共享類,那麼您應該查看爲這些客戶端生成代理的工具的選項。

+0

客戶端使用Java。我怎樣才能做到這一點 ? – user2055213 2013-02-08 17:49:11

+0

wsdltojava不幫我= P – user2055213 2013-02-08 17:53:01

+0

@ user2055213然後請重寫您的問題,顯示您希望他們分享的來自兩個客戶端的一些(相關)代碼。我不知道該工具或其選項。 – CodeCaster 2013-02-08 17:53:56