2012-04-18 82 views
1

我已經使用Metro作爲第三方Web服務引擎創建了Web服務,並將它部署在glassfish上。我使用premetive數據類型int作爲參數。當我輸入像String這樣的無效值時,null將它作爲默認值(0)。有什麼辦法限制它嗎?我想在SoapUI級別驗證它並顯示錯誤消息。SoapUI中的數據類型驗證

在Axis2中它自動執行,但在Metro中不起作用。有沒有額外的註釋呢?或者其他方式來實現這一目標?

在此先感謝。 :-)

回答

0

有兩方面的問題。

一方面你想驗證你在SoaUI級別的請求。默認情況下,它們未經過驗證並按原樣發送到服務器。爲了能夠驗證檢查在了SoapUI設定兩個盒子(標籤編輯器設置):

  • 始終驗證請求消息被髮送
  • 中止無效請求

之前在這種情況下了SoapUI生成錯誤消息和場所插入錯誤的XML行。

另一方面,您需要驗證傳入請求的正確性,在Web服務方面。添加@SchemaValidation註釋com.sun.xml.ws.developer.SchemaValidation爲您的服務啓用此功能。 Metro爲未通過XML模式驗證的請求生成SOAP錯誤消息響應。