这是一段例子中的部分代码,在网上找了找,没找到合适的答案,问问各位大虾…………以下是客户端部分代码……
String url="http://localhost:8080/axis/services/AddressManager";
Service sev=new Service();
try
{
Call call=(Call)sev.createCall();
call.setTargetEndpointAddress(new java.net.URL(url)); 
QName qn=new QName("urn:AddressManager","Address");/**位置一*/
call.registerTypeMapping(Address.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(Address.class,qn), 
new org.apache.axis.encoding.ser.BeanDeserializerFactory(Address.class,qn));/*位置二*/

call.setOperationName(new QName("AddressManager","getAddressList"));
call.setReturnClass(ArrayList.class);
Object[] sss=null;
List<Address> list=(ArrayList)call.invoke(sss);/**位置三*/
……部分代码略……
我的问题是,在位置一的地方,不清楚这是在设置什么?如果说第一个是要调用的URL(这是我自己的理解),第二个参数是什么意思?
位置二,根据方法的意思好像是在注册一些东西,注册这个的目的是什么?
位置三,就是调用服务器端的getAddressList(他返回一个List),但是为什么要传入一个sss这个参数?
谢谢大家

解决方案 »

  1.   

    位置三:你的客户端调用getAddressList方法的时候需要输入参数,就是服务端的方法定义 了输入参数
      

  2.   

    yctang 你好,这是我的服务器端的相应代码
    public List<Address> getAddressList()
    {
    List<Address> returnList=new ArrayList<Address>();
    ……
    }
    这个是不需要参数的啊……
      

  3.   

    看一下axis的api,那里说的很详细。