不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:" Expected elements are <

不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:


{http://xml.apache.org/axis/}stackTrace:Unmarshalling Error: unexpected element (uri:&quot;http://XX.XX.XX.XX.XX.com/&quot;, local:&quot;arg0&quot;). Expected elements are &lt;{}arg0&gt;

找了很久,突然发现一片文章,跟我的情况完全一样。

http://t22011787.iteye.com/blog/1144662
不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;

问题出在:
不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;
解决方法:
使用与cxf发布端匹配的cxf客户端方式去调用。

之前问过服务器端用的什么技术,那边说:是CXF集成的,其实应该就是实现了jax-ws ,反馈的截图如下。

不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;

我理解原来他们使用的就是jax-ws方式,其实不是。。。


不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;

不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;

虽然cxf和jax-ws有一定关系,甚至cxf是基于jax-ws的,但是,但是,cxf和jax-ws是两种不同的技术和方式。


所以使用axis客户端调用cxf服务器端即发布端,是不行的,得使用cxf客户端代码去调用cxf接口。


总结:

1webservice的发布方式不同(axis、jax-ws、cxf等),客户端调用方式也不一样,即客户端代码也不一样。


2所以下一次,在写客户端的调用程序之前,一定要搞清楚服务器端(即发布端)的使用的什么发布方式,然后再对应的书写客户端代码。