我创建了WSDL文件,在WS Client类中我尝试将HashMap作为参数发送,如下所示:
HashMap<String, ArrayList<User>> map = new HashMap<String, ArrayList<User>>();
VerifyStub stub = new VerifyStub();
Verify vu = new Verify();
vu.setHmap(map);
我遇到上述错误消息&#34; java.util.HashMap无法转换为org.apache.axiom.om.OMElement&#34;。
我可以知道,我是否可以将HashMap转换为OMElement。
答案 0 :(得分:2)
你不能通过wsdl接口传递像HashMap这样的集合。
wsdl中没有集合类型的映射。
传递这样的东西最好的选择是通过阵列。这可能意味着额外的一层包装器代码,可以将您的数据输出到Web服务层。
这个链接,虽然不完全是你的情况,但在wsdl中使用集合会有所启发,
http://www.ibm.com/developerworks/webservices/library/ws-tip-coding/index.html