本人用axis2开发webservice,传输大量的数据,需要以什么样式数据格式返回呢?本人刚接触webservice,好多东西还不懂,感谢各位能提供一个思路,能附上代码最好。谢谢给位!webserviceaxis2javaweb

解决方案 »

  1.   

    用List,如有疑问,可以去下载资源:http://download.csdn.net/detail/s478853630/5098447
    axis2功能不错,但开发起来比较吃力,我们现在都用apache的,看代码:
    首先发布webservicepackage com.zl.webservice;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.zl.entity.Store;
    import com.zl.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);
    return new StoreModel().findByExcel(null != store ? store : new Store());
    }}
    修改web.xml<servlet>
    <servlet-name>ws</servlet-name>
    <servlet-class>org.apache.commons.mvc.webservice.WebserviceServlet</servlet-class>
    <init-param>
    <param-name>package</param-name>
    <param-value>com.zl.webservice</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>ws</servlet-name>
    <url-pattern>/webservice</url-pattern>
    </servlet-mapping>再测试调用webservicepackage com.zl.webservice;import java.util.List;
    import org.apache.commons.mvc.webservice.WebserviceClient;
    import com.zl.entity.Store;/**
     * 测试Webservice
     * @version 1.0
     */
    public class TestWebservice { public static void main(String[] args) {
    Store store = new Store();// 准备参数
    store.setBrand("多乐士");
    // 首先创建一个webservice客户端,参数依次为:webservice的url, webservice的名称, webservice的方法, 参数列表, 返回类型, 泛型的类型(不需要泛型就传入null) 
            WebserviceClient client = new WebserviceClient("http://localhost:8080/test/webservice", "store", "find", new Object[] { store }, List.class, Store.class);
            List<Store> list = client.execute();// 调用webservice  
            System.out.println("从服务器返回" + list.size() + "个商品");// 得到了服务端返回的数据
    }

    }
    最后运行main方法,发布方的控制台输出:request: org.apache.catalina.connector.RequestFacade@6f558a
    2013-08-25 20:03:59,546 [http-8080-2] INFO  [org.apache.commons.mvc.webservice.WebserviceControl] - 路径:/test/webservice   方式:POST   耗时:15ms   IP:127.0.0.1   参数:{"getSoundCode":["0.4661341051949396"],"wsRandom":["7636823720"],"arg0":[{"brand":"多乐士","brandPy":"","description":"","id":0,"model":"","name":"","namePy":"","price":0,"prices":"","searchName":"","searchStatus":0,"specification":"","unit":"","unitPy":""}],"wsMethod":["find"],"wsRandomMd5":["8b3d18cac9f49d0a9767b43e484ac6bc"],"wsName":["store"]}   浏览器:Java 1.6.0_10-rc2   系统:Java 1.6.0_10-rc2    其它:Java/1.6.0_10-rc2
    调用方的控制台输出:从服务器返回17个商品
    代码比较简单,功能却十分强大,Map<k, v>,List<?>, Set<?> 随便传
      

  2.   

    一般都是json  xml格式的数据。