1)引入axis需要的所有jar包。
2)开发测试:
实例一)
package testAxis;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class GetIPContent
{
??? private String url="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
??? private String soapaction="http://WebXml.com.cn/";
???
??? public GetIPContent()
??? {
??????? Service service=new Service();
??????? try{
??????????? Call call=(Call)service.createCall();???????????
??????????? call.setTargetEndpointAddress(url);???????????
??????????? call.setOperationName(new QName(soapaction,"getGeoIPContext"));
??????????? call.setReturnType(new QName(soapaction,"getGeoIPContext"),Vector.class);?
??????????? call.setUseSOAPAction(true);
??????????? call.setSOAPActionURI(soapaction + "getGeoIPContext");???
??????????? Vector v=(Vector)call.invoke(new Object[]{});//调用方法并传递参数???????
??????????? for(int i=0;i<v.size();i++)
??????????? {
??????????????? System.out.println(v.get(i));
??????????? }???????????
???????????
??????? }catch(Exception ex)
??????? {
??????? ex.printStackTrace();
??????? }???????
??? }
???
??? public static void main(String args[])
??? {
??? GetIPContent gip=new GetIPContent();
??? }
?????
}
2)实例2:
package testAxis;
import java.util.Vector;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class GetIPCountry {
? private String url="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
???? private String soapaction="http://WebXml.com.cn/";
????
???? public GetIPCountry()
???? {
???????? Service service=new Service();
???????? try{
???????????? Call call=(Call)service.createCall();???????????
???????????? call.setTargetEndpointAddress(url);???????????
???????????? call.setOperationName(new QName(soapaction,"getCountryCityByIp"));
???????????
???????????? call.addParameter(new QName("http://WebXml.com.cn/",XMLType.XSD_STRING,ParameterMode.IN);
???????????? call.setReturnType(new QName(soapaction,"getCountryCityByIp"),Vector.class);???
????????????
???????????? call.setUseSOAPAction(true);
???????????? call.setSOAPActionURI(soapaction + "getCountryCityByIp");???
????????????????????????
???????????? Vector v=(Vector)call.invoke(new Object[]{"218.234.125.123"});//调用方法并传递参数???????
???????????? for(int i=0;i<v.size();i++)
???????????? {
???????????????? System.out.println(v.get(i));
???????????? }???????????
????????????
???????? }catch(Exception ex)
???????? {
???????? ex.printStackTrace();
???????? }???????
???? }
????
???? public static void main(String args[])
???? {
???? ?GetIPCountry gip=new GetIPCountry();
???? }
}
3)实例三:
package testAxis;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
public class TestWebService {
/**
* @param args
*/
public static void main(String[] args) {
?? // TODO Auto-generated method stub
?? System.out.println("Start invoking....");
?? try
?? {
??? String endPoint="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
??? Service service = new Service();
??? Call call = (Call)service.createCall();
??? call.setTargetEndpointAddress(new java.net.URL(endPoint));
??? call.setOperation("getVersionTime");
??? call.setUseSOAPAction(true);
??? call.setSOAPActionURI("http://WebXml.com.cn/getVersionTime");??
??? call.setOperationName(new QName("www.webxml.com.cn","getVersionTime"));?????
??? call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);?
??? String str=(String)call.invoke( new Object[]{});
??? System.out.println(str);????????????
?? }catch(Exception e)
?? {
??? e.printStackTrace();
?? }??
}
}