axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近一个项目需要调用一个webservice接口,遇到一个问题.项目中的jdom版本为0.9.而webservice client需要用到jdom1.0 如果将jdom版本升级则会造成现有系统异常.
因此需要在不改变现有项目jar的情况下解决这个问题.service端使用的
jax-ws2.
wsdl如下:
Java代码 xmlns:soap="/wsdl/soap/" xmlns:tns="/ZySearch" xmlns:xsd="/2001/XMLSchema" xmlns="/wsdl/" targetNamespace="/ZySearch" name="UserLinkWebServiceService"> type="tns:UserLinkWebService"> style="rpc"> namespace="/ZySearch"> namespace="/ZySearch"> binding="tns:UserLinkWebServicePortBinding"> location="http://192.168.1.1.154:9010/ZySearch">
对方给我们的client是使用xfire的client调用,代码如下:
Java代码
package mon;
import .URL;
import java.util.Map;
import org.codehaus.xfire.client.Client;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class Test {
public static void main(String[] args) {
String url =
"http://192.168.1.1:8000/RES_Searcher/service/IUserLinkWebService?wsd l";
Client client;
try {
client = new Client(new URL(url));
Object params[] = {"123456"};
String result = (String)client.invoke("getUserLink", params)[0];
XStream xStream = new XStream(new DomDriver());
Map map = (Map)xStream.fromXML(result);
} catch (Exception e) {
e.printStackTrace();
}
}