日期:2014-05-17  浏览次数:20765 次

我想做一个多功能web service client
我想做一个多功能web service client, 这个 client 需要实现的功能是, 每次我访问不同类型的web service服务时,我只需要提供一个正确的WSDL 的URL和需要访问的方法。然后这个client 就能正确获得数据。
    跪求大侠给思路,跪求高人指点,
web?service?client

------解决方案--------------------
给你一段参考代码,不复杂,你简单封装一下就可达到你的要求。

    String res = null;
    Service service = new Service();
    Call call = null;
    try {
      call = (Call) service.createCall();
      call.setTargetEndpointAddress(new java.net.URL(serviceUrl));
      call.setOperationName(new QName("http://localhost/CigaTransService/" + opName + "/SU", opName));
      call.addParameter("TokenRing", XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
      call.addParameter("stamp_s", XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
      call.addParameter("stamp_e", XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
      call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
      call.setUseSOAPAction(true);
      call.setSOAPActionURI("http://localhost/CigaTransService/" + opName + "/Rpc");
      res = (String) call.invoke(new Object[]{tokenRing, startDate, endDate});


你去下一个org.apache.axis.client.Service的包,就可以了。