java调用webservice之后的数据处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java调用webservice之后的数据处理相关的知识,希望对你有一定的参考价值。

如下是我调用的手机号码归属地查询的公告API接口,我把wsdl转化成了java类,利用这个类来实现功能,下面是客户端代码
public ArrayOfString query(String phone) throws RemoteException
MobileCodeWSStub stub = new MobileCodeWSStub();
MobileCodeWSStub.GetMobileCodeInfo gmc = new MobileCodeWSStub.GetMobileCodeInfo();
MobileCodeWSStub.GetDatabaseInfo gdb = new MobileCodeWSStub.GetDatabaseInfo();
MobileCodeWSStub.ArrayOfString aos = new MobileCodeWSStub.ArrayOfString();
gmc.setMobileCode(phone);
aos = stub.getDatabaseInfo(gdb).getGetDatabaseInfoResult();
return aos;

我在servlet中调用这个方法,但是它的返回值是发布这个webservice得机构定的,是ArrayOfString ,那我怎么样转化成json格式,输出到jsp页面呢?

WebService返回的数据都是Object[]类型的,ArrayOfString也是ArrayOfObject的子类,所以呢,你必须解析出来,比如它定义了返回数据格式是:号码,地区,邮编
那你做循环分别吧aos[0],aos[1],aos[2]拿出来,构成一个新的实体对象,在利用JSONArray.fromObject(Object)来转换成json串,如果返回了多条记录 就把实体对象加到list里面,JSONArray.fromObject(list)来转成json串

希望能帮到你~
参考技术A 是的,如果你需要自己的格式。 你只需读取并解析 ws 返回的数据,再序列化成你自己想要的格式即可! 参考技术B 把ArrayOfString中的数据取出,封装到list中,json有方法直接把list转成json格式的数据JSONArray.fromObject(list),把这个jsonArray返回前台就可以调用了

webservice发布之后拒绝访问

在VS里面能够正常运行,但是发布之后,拒绝访问,是怎么回事?链接里的localhost可改为了外网的网址了。在地址栏直接数据WebService的地址是可以访问了,就是在页面条用报错了
IIS上权限是EVERYONE
我是JS调用Webservice

参考技术A 设置权限的问题,给文件夹也加上权限

以上是关于java调用webservice之后的数据处理的主要内容,如果未能解决你的问题,请参考以下文章

java 调用webservice接口的时候 需要先执行一个签到的方法,之后才能调用其他接口方法

webservice接口,如何用Java代码更新数据库中的一个字段的值,其他字段值保持不变?

请教:C# WebService调用Java WebService(返回Json类型数据) ,为啥接收为null

使用axis调用WebService,Java WebService调用工具类

java调用webservice出错了!

WebService