首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

JAVA程序怎么调用Rest webservice

2013-10-22 
JAVA程序如何调用Restwebservice1.请问在一个普通的JAVA工程中,如何调用webservice接口rest?java[解决办法

JAVA程序如何调用Rest webservice
1.请问在一个普通的JAVA工程中,如何调用webservice接口
rest?java
[解决办法]

public static void main(String[] args) {
        Store store = new Store();// 准备参数
        // 首先创建一个webservice客户端,参数依次为:webservice的url, webservice的名称, webservice的方法, 参数列表, 返回类型, 泛型的类型(不需要泛型就传入null) 
        WebserviceClient client = new WebserviceClient("http://localhost:8088/TestWeb/webservice", "store", "find", new Object[] { store }, List.class, Store.class);
        List<Store> list = client.execute();// 调用webservice  
        System.out.println("从服务器返回" + list.size() + "个商品");// 得到了服务端返回的数据
    }

[解决办法]
package com.wj.webservice;


import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.mvc.annotation.Webservice;
import org.apache.commons.mvc.annotation.WebserviceMethod;
import org.apache.commons.mvc.thread.HttpThread;
import com.wj.entity.Store;
import com.wj.model.StoreModel;
 
/**
 * 发布商品的Webservice
 * @version 1.0
 */
@Webservice(name = "store")
public class StoreWebservice {
     
    /**
     * 查询数据
     * @param store
     * @return
     */
    @WebserviceMethod
    public List<Store> find(Store store) {
        HttpServletRequest request = HttpThread.getRequest();
        System.out.println("request: " + request);
        List<Store>  list = new ArrayList<Store>();
        return list;
    }
 
}

[解决办法]
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>
<servlet-name>wj</servlet-name>
<servlet-class>
org.apache.commons.mvc.webservice.WebserviceServlet
</servlet-class>
<init-param>
<param-name>package</param-name>
<param-value>com.wj.webservice</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>wj</servlet-name>
<url-pattern>/webservice</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

[解决办法]
rest webservice 应该不是常规的webservice
而是通过restful的方式来写的吧

这样的话可以通过
URL url = new URL(Url);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();

即可

热点排行