WebService WSDL方式调用,求高手指点!!

WebService WSDL方式调用。这是客户提供给我的文档,小弟之前没有做过WebService调用,网上学了很多,也都没有高人指点。求高人指点实现思路???

标准地址引用服务接口说明书

一、标准地址引用服务

(一) 服务 URL 基础位置

http://IP:PORT/APPLICATION_PATH / addressService

(二) 服务 URL 实例

http://localhost:8080/PADD_S_LBS/addressService?type=GetByPy&typin

gInfo=s&timespan=1382420655151

(三) 输入参数:

参数名称 参数含义 参数值 固定 必须填写

type 服务类型 GetByPy 是 是
typingInfo 输入内容 用户输入的内容 否 是
addressClass 地址分类 分类字符串值 否 否
startIndex 分页起始索引 非负整数(默认 0) 否 否
endIndex 分页终止索引 非负整数(默认 10) 否 否

timespan 为了保证浏览器不缓存而使用的动态 否 否
参数,也可以用 HTTP 参数控制

(四) 输出类结构:

class Result{ Boolean success;
Array

content;

}

class Address{ String id; String address;

String addressPath; String addressClass; String geocode; double x;

double y;

}

(五) 输出 JSON 实例:

{ "success":true, "content":[
{ "id":"fc07c4cb‐f033‐437d‐8030‐978947317578", "address":"北京市西城区白石桥东路 1 号", "addressPath":"/北京市/西城区/白石桥东路/1 号", "addressClass":"",

"geocode":"*******",

"x":119.2,"y":36.0

},

{ "id":"c0760d55‐6ecd‐45fa‐818d‐be2ce75269cd", "address":"北京市西城区白石桥西路 2 号", "addressPath":"/北京市/西城区/白石桥西路/2 号", "addressClass":"",

"geocode":"*******",

"x":119.3,"y":36.1

},

{ "id":"b82c3f0d‐f51f‐4212‐87ed‐a9d78d9a8058", "address":"北京市西城区动物园 3 号", "addressPath":"/北京市/西城区/动物园/3 号", "addressClass":"",

"geocode":"*******",

"x":119.4,"y":36.2

},

{

"id":"7a9ce346‐a806‐46f2‐bf8b‐7731c2116388", "address":"北京市西城区二里沟东口 4 号", "addressPath":"/北京市/西城区/二里沟东口/4 号", "addressClass":"",

"geocode":"*******",

"x":119.5,"y":36.3

}

]

}

(六) 测试样例界面:

求大神指点,在线等!

java的webservice使用很简单,你可以查查java中使用cxf调用webservice服务。下面是我写的一个client,你可以参考下

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Arrays;

public class WsClient {
    private static final Logger logger = LoggerFactory.getLogger(WsClient.class);

    public static Object[] sendMsg(String url, String method, Object[] params) throws Exception {
        return sendMsg(url, method, params, 60000);
    }

    public static Object[] sendMsg(String url, String method, Object[] params, Integer timeout) throws Exception {
        logger.debug("调用webservice, url={}, method={}, params={}", url, method, Arrays.toString(params));
        Client client = getClient(url, timeout);
        return client.invoke(method, params);
    }

    private static Client getClient(String url, Integer timeout) {
        Client client = DynamicClientFactory.newInstance().createClient(url);
        HTTPConduit http = (HTTPConduit) client.getConduit();
        HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
        httpClientPolicy.setConnectionTimeout(timeout);
        httpClientPolicy.setAllowChunking(false);
        httpClientPolicy.setReceiveTimeout(timeout);
        http.setClient(httpClientPolicy);
        return client;
    }
}