Web服务参数是默认的还是可选的?

时间:2016-01-08 03:03:02

标签: java web-services

我使用JAX-WS API构建了Web服务。我的网络方法看起来像这样:

@WebMethod
public String getLocation(@WebParam(name = "token") String p_token, @WebParam(name = "code") String p_code) {...}

我只是想知道默认情况下Web服务参数是强制还是可选的?或者它取决于调用Web服务的客户端?我无法从网上找到明确的答案。

使用SoapUI,它显示两个参数都是可选的。我可以调用该方法省略任何参数而没有任何问题。

使用VB.Net,我需要提供两个参数,空字符串很好。

1 个答案:

答案 0 :(得分:0)

例如,考虑:http://www.w3schools.com/xml/tempconvert.asmx?WSDL

    <s:element name="CelsiusToFahrenheit">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Celsius" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>

基于minOccurs和maxOccurs值,我们决定SOAP请求。 在这种情况下,minOccurs为0,因此SOAP请求在没有此元素的情况下保持良好,此元素是可选的。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.w3schools.com/webservices/">
   <soapenv:Header/>
   <soapenv:Body>
   <web:CelsiusToFahrenheit>     

      </web:CelsiusToFahrenheit>
   </soapenv:Body>
</soapenv:Envelope>