java 做 webservice 在以数组为参数时,发布出来的WSDL 中为啥没有自动生成<element minOccurs="0" maxOccurs=“unbounded” 这些属性?怎么控制生成 这些属性?
wsdl转SOAP时 数组生成
<Material xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="m0:string[1]"><m0:item0 xsi:type="m0:string" id="" href=""/>
</Material> 代码,
这里 SOAP-ENC:arrayType="m0:string[1]" 为什么会把Material 数组限制成1个元素?在服务端我并没有做这样的限制。
java 做 webservice 在以数组为参数时,发布wsdl 属性问题
答案:3 悬赏:30 手机版
解决时间 2021-03-09 04:49
- 提问者网友:送舟行
- 2021-03-08 14:57
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-03-08 15:15
正常的调用webservice接口返回的是简单的字符串类型的数据,如果想要返回复杂类型或者是自定义的数据类型,需要做特殊的处理。
比如定义一个IMyService.java,其中的接口函数是:
public List<Entity> getLocalEntityList();
这时需要建立一个IMyService.aegis.xml与IMyService.java放在同一目录下,
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getLocalEntityList">
<!-- 自定义的实体的具体路径-->
<return-type componentType= "com.xxx.xxxx.xxxxx.Entity" />
</method>
</mapping>
</mappings>
希望对你有用。。。
比如定义一个IMyService.java,其中的接口函数是:
public List<Entity> getLocalEntityList();
这时需要建立一个IMyService.aegis.xml与IMyService.java放在同一目录下,
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="getLocalEntityList">
<!-- 自定义的实体的具体路径-->
<return-type componentType= "com.xxx.xxxx.xxxxx.Entity" />
</method>
</mapping>
</mappings>
希望对你有用。。。
全部回答
- 1楼网友:轮獄道
- 2021-03-08 17:17
minOccurs="0" maxOccurs="unbound"这个参数值的是这个元素标签最少有0个,可以有多个unbound值的不限,至于楼上说真是炉头不对马嘴,不知道从哪拷贝了一段,真是误人子弟,至于你说的以数组为参数,webservice为考虑到平台和语言之间的差异,所以只支持基本数据类型
- 2楼网友:空山清雨
- 2021-03-08 16:20
client client = new client(new url(url)); object results[] = client.invoke(method, paramarray);
第一步是建立连接,第二步就是调用指定的方法,并传入指定的参数。 返回指定的结果。
上面是我自己用到的调用,具体的参数类型和返回类型由你的wsdl指定。
希望对你有帮助,望采纳
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯