我一直在試圖找到這個特定主題的解決方案:如何在java web服務中定義@WebParam的默認值?
可以在基於SOAP/WSDL的Web服務的@webParam註釋中定義一個默認值?我要的是完全以下結果:
我在我的web服務的@WebMethod稱爲具有以下簽名GetCustomers的:
@WebMethod(operationName = "getCustomers")
@WebResult(name = "customer")
public Customer[] getCustomers(@WebParam(name = "company") String company,
@WebParam(name = "limitTop") int limitTop){
//Logic of getting customer be here
}
特別是,參數limitTop是不可選在這種方法中,這個數字表明你有多少個客戶記錄想要的響應返回,但我想,在我的XML模式,這個特殊的元素有一個默認值,這樣的事情:
<xs:complexType name="getCustomers">
<xs:sequence>
<xs:element name="company" type="xs:string" minOccurs="0"/>
**<xs:element name="limitTop" type="xs:int" default="100"/>**
</xs:sequence>
</xs:complexType>
請的NotI CE名爲limitTop
這是爲了讓客戶端應用程序發送SOAP消息沒有limitTop元素的元素的默認屬性,但仍然限制的記錄數返回默認值在limitTop元素中給出。
我正在使用Java,JAX-WS和GlassFish Server Open Source Edition。
感謝您的幫助。
卡羅·亞涅斯
好的,kolossus,謝謝你的幫助,我有你的建議解決方案非常清楚,我沒有清楚的是所提到的web服務風格改變爲包裝,應該做什麼來改變我的web服務風格?無論如何,你的回答能幫助我解釋我對這個問題的懷疑。再次感謝你。 –
@CarloYañez - 看看[這個答案](http://stackoverflow.com/questions/5324051/webservices-bare-vs-wrapped) – kolossus
非常感謝Kolossus。 –