以下程序中,call.setOperationName("sayHello"  );调用了server端一个无参数的函数sayHello.
如果我现在将server端的函数改成有参数,那么client中将如何调用呢?谢谢//如果改成了如下形式,client改怎么变呢?
public class HelloWorld {
  public String sayHello(String sname)
  {
    return sname+",HELLO WORLD!"; 
  } 
}import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class HelloClient
{
   public static void main(String [] args) throws Exception {
       String endpoint = "http://localhost:" +"8080"+ "/axis/services/HelloWorld";
       Service  service = new Service();
       Call  call  = (Call) service.createCall();
       call.setTargetEndpointAddress( new java.net.URL(endpoint) );
       call.setOperationName("sayHello"  );
       String res = (String) call.invoke( new Object[] {} );
       System.out.println( res );
   }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【changleqy】截止到2008-07-29 15:27:21的历史汇总数据(不包括此帖):
    发帖的总数量:79                       发帖的总分数:1570                     每贴平均分数:19                       
    回帖的总数量:82                       得分贴总数量:9                        回帖的得分率:10%                      
    结贴的总数量:79                       结贴的总分数:1570                     
    无满意结贴数:2                        无满意结贴分:40                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:2.53  %               无满意结分率:2.55  %                  
    敬礼!
      

  2.   

    call.setOperationName( method );       call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN );       call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );       call.setReturnType( XMLType.XSD_INT );
    如上,其中.addParameter是设置参数!
      

  3.   

     Integer ret = (Integer) call.invoke( new Object [] { i1, i2 });这个是真正的调用..