2011-03-08 53 views
0

我編寫了一個應用程序,該應用程序在很大程度上依賴於從生成JAX-WS客戶端的Web服務獲取的數據。 WSDL使用xsd:double類型來表示所有浮點類型,但由於它們有時代表貨幣量,我想將它們全部更改爲xsd:decimal對象。只要我使用自己的WSDL副本,並將所有xsd:double實例更改爲xsd:decimal,並從修改後的WSDL生成存根,我是否可能遇到任何問題?JAX-WS 2.0 - 從xsd:double遷移到xsd:decimal

感謝和親切的問候,

約瑟夫。

回答

1

只要你不依賴於能夠編碼任何「怪異值」/ IEEE-754細微差別(取決於你的觀點),如-0.0,無窮大或NaN,並小心避免阻抗不匹配在Web服務提供的內容與您的應用程序期望的內容之間,我不相信您會遇到任何問題。

我認爲這些值將在您的應用程序中作爲BigDecimal s處理?

+0

'BigDecimal's將處理xsd:decimal對象。我不希望得到任何'NaN'或'Infinity's回來,但如果他們這樣做可能會成爲問題。 – 2011-03-08 22:17:42

+0

@約瑟夫:那你應該沒問題。 – 2011-03-08 22:49:29

+0

我相信如果服務使用科學記數法編碼double值,您可能會遇到問題。 xsd:decimal特別禁止科學記數法,而xsd:double允許將其作爲選項。 – 2011-03-09 22:25:52