第三方提供给我们 webservice接口的地址为:http://xxx.xxx.xxx.xxx:8080/cxbd/rxbd.ws?wsdl
对方文档中说向接口发送XML格式具体如下
<?xml version="1.0" encoding="UTF-8" ?>
<DataSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Params>
<Param name="name">zhangsan</Param>
<Param name="age">36</Param>
<Param name="sex">1</Param>
<Param name="address">china beijing</Param>
<Param name="other"></Param>
</Params>
</DataSet>
现在我有一点不明白,这个XML,我是作为字符串参数传给接口吗?是不是类似这样?
还是通过什么别的方式传给接口?比如将XML转成对象,然后传递?
------解决思路----------------------
一个有着 xml 规则的字符串
------解决思路----------------------
webservice 传输的格式就是xml,xml是一个数据格式,传输之前转换成xml,xml传到对方之后对方再解析
------解决思路----------------------
这个看你生成的客户端代码就能知道了
------解决思路----------------------
我做了一个项目是以webService方式请求服务端的服务方法,给我返回的是一个xml格式的字符串,我拿到这个字符串然后按照xml格式进行解析的。
------解决思路----------------------
你可以用jaxb
------解决思路----------------------
<ReqInfo>
<Account>1234578</Account>
<Version >0.1</Version>
</ReqInfo>
例如这个xml格式,对方在解析的时候获取account节点的值,就可以获取到12345678。也就是说<Account></Account>这些就是你所纠结的参数名称,你们在写接口时候会有一个文档,规定好这些节点都是什么,对方只要取到再直接解析就可以啦
------解决思路----------------------
接口发布以后 会约定调用接口的入参 与 输出 啊
你将WSDL解析以后 相当于直接调用本地的服务的方法 只是这个方法路由到外部系统
它的传输是以XML格式 XML也是一堆字符串而已
然后对方返回 约定好的对象 接口包都给你封装好了 可以看看源码的操作与实现