调用web service传递XML字符串?哪位大哥给个思路
1.别人用java写了个web service让我调用,要求传递xml格式的数据
2.以前我写web service或者调用都是用JSON格式的字符串的,不明白xml格式的应该怎么搞
3.难道让我从DB抓好数据,转成XML再转成字符串再去调用webservice啊?
4.哪位大哥大姐,给个思路或者有个简单的例子,或者能够告知用什么框架之列的,感激不尽
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(23)
即然 别人要求传递XML格式的数据,那么Service提供方,是解析的XML数据。你传递个JSON格式的数据,叫人家怎么搞?为你重新实现 JSON格式数据的解析? 用别个的接口,就要遵循人家的约定。
你说的,我知道的...但是我不晓得应该怎么组织这个XML啊
那就看看xml的相关基础教程啦,应该很快看明白的吧
我自己写了个java调用webservice天气预报和ip地址查询,以及手机号码归属地查询的例子,你要吗?留下邮箱
那都碰的见你------
zhao_ma@hotmail.com谢谢,其实我会写调用,还有webservice的,但是对于传递xml格式的字符串,应该怎么整理这个字符串不会啊?
不是难不难的问题,可以写的,但是代码比较多,不想这么弄~只想用简单调用方法就可以
对象写个xml有这么难吗?
这也行?
不要想得太复杂,组织好xml格式的数据字符就作为参数给传过去就行.
例如:ProjectService类中方法上传项目相关数据.
参数:
"prjCode":项目记录号
"username":用户名
"password": 密码
"content"://xml格式。
uploadProjectData(String projCode,String username,String password,String content)
在调用时作.组织好content的xml格式的数据结构就Ok.
xml格式的数据
StringBuffer content=new StringBuffer("<?xml version='1.0' encoding='utf-8' ?>");
content.append("<project>")
content.append("<name>ProjectName<name>");
....
content.append("</project>");
web service用JAVA写的,难道JAVA不是语言么?你的意思是不确定他们用的是CXF还是AXIS2之类的是不是?
回复
他的意思是不知道你要用什么语言来掉别人的webservice......
你只说了对方是java 没有说你用什么语言. 不同的语言可能要用不同的中间件. 但是重点是你要拿到wsdl文件.
下在asix 自己弄一次就知道了... XML是传输格式.. 基于HTTP协议. 根据对方开放的wsdl生成Client端的Java class. 参数什么的都生成好了(参数类).你调用就是了.
回复
说个题外话,其实调用web service的话不一定要生成client去调用的。好吧~上一句话忽略。我想说的是,我的问题的关键在于如何准备xml格式的参数呢?
对方既然提出A方法的参数是String类型,要求XML格式封装,那么他就应该有提供XML格式的说明文档;比如 根节点名称,节点名称等等;你按照他提供的格式说明文档进行封装就可以了啊; 另外:看你的意思,难道是你不知道怎么将一个BEAN 封装为一个XML字符串的吗?
回复
大哥,你说的没错,对方应该提供这些东西的,但是项目尚未开始,因为后期开发时间非常短,如果封装为XML,这方面我实在是不知道该如何操作,请指点下小弟,谢谢~OSCHINA也有人提供了任意BEAN转化为XML的方法,我就想问还有没有更加简单的方法啊,比如说调用一个方法就直接将BEAN转为XML的jar包可以利用的,类似于fastjson这样的东西
让对方提供wsdl文件. 然后拿工具通过wsdl文件生成访问代码.
可能你看到的是表层的东西. 别人封了一层你就以为是json了. 我也只是猜测. 没用过这东西.
我说的JSON是我自己写的,这个我很清楚啊。人家现在说他们提供的web service接口处理XML格式的数据,我就是不知道该怎么生成这样的数据阿?
说明之前你根本没用过webservice,webservice协议就是xml
你可以看看apache 的 cxf,官方文档的API和样例非常清楚,就怕你没耐心
让对方提供wsdl文件. 然后拿工具通过wsdl文件生成访问代码.
说明之前你根本没用过webservice,webservice协议就是xml
你可以看看apache 的 cxf,官方文档的API和样例非常清楚,就怕你没耐心