java xfire webservice 怎么传javabean参数 java xfire webservice ,在客户端怎么传javabean?我传基本类型的都没有问题,传自己写的javabean,获取到的都是为空的?webservicejavabeanxfirejava类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先发布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()); }}再测试调用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@6f558a2013-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个商品非常强大的webservice,你想要的功能,这里都有了,别说是自定义数据类型,就算是Map<k, v>,List<?>, Set<?>, 也能很轻松搞定 看错了,楼主指定要xfire我以前用xfire成功的传递过javabean,好像有一段啰嗦的配置,且发布方和调用方的包名必须一致,那时候一直想用xfire传递List, 但没成功,感觉xfire太弱了,就放弃了,现在用apache的,挺不错的,想要的功能都实现了楼主坚持用xfire,就去下载资源吧,或许可以哦!http://download.csdn.net/detail/s478853630/4200187http://download.csdn.net/detail/s478853630/4200258 java 如何取得视频文件的总时长? Struts 2 拦截器问题 请问谁有struts2 的相关书籍啊? Birt 请教一更新sql语句 jfreechart懂的可以进来指点一下 请问哪里还有struts1.1下载!~官方的怎么都是1.2了~~ 急求用java编的给一个文件加密和解密的简单例子,谢谢!!! 请问怎样能在Java Application中的得到键盘的值 哪里能找到Weblogic 7.0的Service Pack java.lang.ClassNotFoundException 过滤器,启动tomcat报错如下 Struts2 如何发送参数中带有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());
}}再测试调用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个商品
非常强大的webservice,你想要的功能,这里都有了,
别说是自定义数据类型,就算是Map<k, v>,List<?>, Set<?>, 也能很轻松搞定
我以前用xfire成功的传递过javabean,好像有一段啰嗦的配置,且发布方和调用方的包名必须一致,
那时候一直想用xfire传递List, 但没成功,感觉xfire太弱了,就放弃了,
现在用apache的,挺不错的,想要的功能都实现了
楼主坚持用xfire,就去下载资源吧,或许可以哦!
http://download.csdn.net/detail/s478853630/4200187
http://download.csdn.net/detail/s478853630/4200258