WADL示例

1.3 WADL示例

 

下面是一个雅虎新闻搜索应用WADL描述示例。

 

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0"?>  
  2. <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:schemaLocation="http://research.sun.com/wadl/2006/10 wadl.xsd"  
  4.     xmlns:tns="urn:yahoo:yn" xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
  5.     xmlns:yn="urn:yahoo:yn" xmlns:ya="urn:yahoo:api" xmlns="http://research.sun.com/wadl/2006/10">  
  6.     <grammars>  
  7.         <include href="NewsSearchResponse.xsd" />  
  8.         <include href="Error.xsd" />  
  9.     </grammars>  
  10.   
  11.     <resources base="http://api.search.yahoo.com/NewsSearchService/V1/">  
  12.         <resource path="newsSearch">  
  13.             <method name="GET" id="search">  
  14.                 <request>  
  15.                     <param name="appid" type="xsd:string" style="query" required="true" />  
  16.                     <param name="query" type="xsd:string" style="query" required="true" />  
  17.                     <param name="type" style="query" default="all">  
  18.                         <option value="all" />  
  19.                         <option value="any" />  
  20.                         <option value="phrase" />  
  21.                     </param>  
  22.                     <param name="results" style="query" type="xsd:int" default="10" />  
  23.                     <param name="start" style="query" type="xsd:int" default="1" />  
  24.                     <param name="sort" style="query" default="rank">  
  25.                         <option value="rank" />  
  26.                         <option value="date" />  
  27.                     </param>  
  28.                     <param name="language" style="query" type="xsd:string" />  
  29.                 </request>  
  30.                 <response>  
  31.                     <representation mediaType="application/xml" element="yn:ResultSet" />  
  32.                     <fault status="400" mediaType="application/xml" element="ya:Error" />  
  33.                 </response>  
  34.             </method>  
  35.         </resource>  
  36.     </resources>  
  37. </application>  
 

 

28行开始一个应用的描述,定义在应用描述的其他地方要用到的XML命名空间。

29行定义了服务要用到的XML语法(grammars),这里包含了两个XMLSchema文件

的引用。

1645行描述了雅虎新闻搜索的Web资源和这个资源支持的HTTP方法。

1843行描述了 "search" GET方法,

1936行描述了 方法的输入,

3742行描述了 方法可能的输入,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WADL(Web Application Description Language)是一种用于描述Web服务的语言,它支持基于HTTP的请求方法,包括POST请求。要使用WADL进行POST请求,可以参考以下步骤: 1. 获取服务描述文件(WADL) 可以使用浏览器访问服务URL,并在URL后面添加“?_wadl”参数,来获取服务描述文件。例如: ``` http://localhost:8080/your/service/url?_wadl ``` 2. 解析服务描述文件 使用工具(例如Java的jaxb)解析服务描述文件,获取服务请求的URL、请求参数等信息。 3. 构造POST请求 根据服务描述文件中的信息,构造POST请求。例如: ```java URL url = new URL("http://localhost:8080/your/service/url"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/xml"); String input = "<request><param1>value1</param1><param2>value2</param2></request>"; OutputStream os = conn.getOutputStream(); os.write(input.getBytes()); os.flush(); ``` 其中,Content-Type头部指定请求数据的格式;input为请求数据。可以根据服务描述文件中的参数信息,动态生成请求数据。 4. 处理响应 ```java int responseCode = conn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println(response.toString()); } ``` 其中,conn.getResponseCode()获取响应状态码;conn.getInputStream()获取响应数据流。可以根据服务描述文件中的响应信息,解析响应数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值