日期:2014-05-20  浏览次数:20661 次

webService调用一个小问题,参数用实体类?????可另外赠分...
webservice我发布了一个services参数用的是一个实体类NodeInfo

这样参数用实体类是不是不好啊.是否有局限呢?我觉得有一些.

是不是最好都换到string或者是array啊?

以下是我的测试代码,在发布webservice的项目中好使.

同样的代码在另外一个单独的项目中调用不好使..不知道为什么.
Java code

String serviceURL = "http://localhost:8080/Collect/services/IDataService";
        Service serviceModel = new ObjectServiceFactory().create(
                IDataService.class, null,
                "http://localhost:8080/Collect/services/IDataService",
                null);

        XFireProxyFactory serviceFactory = new XFireProxyFactory();

        try {
            IDataService service = (IDataService) serviceFactory.create(
                    serviceModel, serviceURL);

            // 忽略http连接的超时时间,0为不设置超时时间,》=1为超时毫秒数
            Client client = Client.getInstance(service);
            client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0");
            
            String hello = service.sayHello("admin");
            System.out.println("服务器对[张山疯] 的回答是:" + hello);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }




------解决方案--------------------
webService 设计提供类做为参数,这是没有问题的
至于使不使用实体类这个要看你如何来设计,我只能说现在很多大应该提供出的webService是用类的