用xfire方式调用webservice,我现在myeclipse中使用包根据地址http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl
生成了这些类
ArrayOfString.java
GetCountryCityByIp.java
GetCountryCityByIpResponse.java
GetGeoIPContext.java
GetGeoIPContextResponse.java
GetVersionTime.java
GetVersionTimeResponse.java
ObjectFactory.java
package-info.java
我想调用webservice中的这2个方法,可是怎么想都没弄明白
getCountryCityByIp (String ip)根据IP获得地址getGeoIPContext 获得当前外网地址
代码
ObjectFactory of=new ObjectFactory();//创建工厂
GetCountryCityByIp gccb=of.createGetCountryCityByIp(); gccb.setTheIpAddress("114.91.192.190");//设置IP

GetCountryCityByIpResponse gccbi=of.createGetCountryCityByIpResponse();
System.out.println(gccbi.getGetCountryCityByIpResult());

解决方案 »

  1.   

    生成完成之后会在工程里面有2个包,
    一个是webservice的基本类和方法,
    一个是实现类和接口
      

  2.   

    package cn.com.webxml;import org.apache.commons.lang.builder.ToStringBuilder;public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    IpAddressSearchWebServiceHttpGet get = new IpAddressSearchWebService().getIpAddressSearchWebServiceHttpGet();
    ArrayOfString countryCityByIp = get.getCountryCityByIp("114.91.192.190");
    ArrayOfString geoIPContext = get.getGeoIPContext();
    String versionTime = get.getVersionTime();

    System.out.println("==============GET==================");
    System.out.println("countryCityByIp : " + ToStringBuilder.reflectionToString(countryCityByIp));
    System.out.println("geoIPContext : " + ToStringBuilder.reflectionToString(geoIPContext));
    System.out.println("versionTime : " + versionTime);


    IpAddressSearchWebServiceHttpPost post = new IpAddressSearchWebService().getIpAddressSearchWebServiceHttpPost();
    countryCityByIp = post.getCountryCityByIp("114.91.192.190");
    geoIPContext = post.getGeoIPContext();
    versionTime = post.getVersionTime();

    System.out.println("countryCityByIp : " + ToStringBuilder.reflectionToString(countryCityByIp));
    System.out.println("geoIPContext : " + ToStringBuilder.reflectionToString(geoIPContext));
    System.out.println("versionTime : " + versionTime);


    IpAddressSearchWebServiceSoap soap = new IpAddressSearchWebService().getIpAddressSearchWebServiceSoap();
    countryCityByIp = soap.getCountryCityByIp("114.91.192.190");
    geoIPContext = soap.getGeoIPContext();
    versionTime = soap.getVersionTime();

    System.out.println("==============SOAP==================");
    System.out.println("countryCityByIp : " + ToStringBuilder.reflectionToString(countryCityByIp));
    System.out.println("geoIPContext : " + ToStringBuilder.reflectionToString(geoIPContext));
    System.out.println("versionTime : " + versionTime);


    }}
    ==============GET==================
    countryCityByIp : cn.com.webxml.ArrayOfString@17f1841[string=<null>]
    geoIPContext : cn.com.webxml.ArrayOfString@68cd79[string=<null>]
    versionTime : 
    ==============POST==================
    countryCityByIp : cn.com.webxml.ArrayOfString@16504fa[string=<null>]
    geoIPContext : cn.com.webxml.ArrayOfString@1b5391b[string=<null>]
    versionTime : 
    ==============SOAP==================
    countryCityByIp : cn.com.webxml.ArrayOfString@a68fd8[string=[114.91.192.190, 上海市杨浦区 电信ADSL]]
    geoIPContext : cn.com.webxml.ArrayOfString@12dd538[string=[58.247.207.52, 上海市 联通]]
    versionTime : IP地址数据库,及时更新
      

  3.   

    根据wsdl文件开发ws,最好倒这些。首先要懂wsdl的语法