setOperationName设置你要调用的远程方法的路径
setSOAPActionURI这个会不会是远程路径,没用过这样的我是这么用的
Service   service   =   new   Service(); 
Call   call   =   (Call)   service.createCall(); 
call.setTargetEndpointAddress( "http://www.wellcare.cn/services/StartupFlow "); 
//调用的方法名,在ie中输入http://www.wellcare.cn/services/StartupFlow能看到
call.setOperationName( "GetRegisterState "); 
result   =   (String)   call.invoke(new   Object[]{id}); 

解决方案 »

  1.   

    我按照你的方法用了,出现下列错误.
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
     faultSubcode: 
     faultString: Server did not recognize the value of HTTP Header SOAPAction: .
     faultActor: 
     faultNode: 
     faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:Server did not recognize the value of HTTP Header SOAPAction: .
    现在能连上那边的方法了,但是那边方法里有个参数是boolean,这边传过去的东西老出错.
      

  2.   

    protected void btnRecv_Click(object sender, System.EventArgs e)
    {
    com.montnets.ws.wmgw smsRecvMo = new SiServiceDemo.com.montnets.ws.wmgw();
    string[] strArray = smsRecvMo.MongateCsGetSmsExEx(txtAcc.Text,txtPwd.Text);
    if (strArray != null)
    {
    foreach (string strTemp in strArray)
    {
    listShow.Items.Insert(0,strTemp);
    }
    }
    else
    {
    listShow.Items.Insert(0,"无上行信息");
    }
    }
    //////////////////////////////////try 

    String endpoint = "http://192.168.X.X/axis/services/SMsg?wsdl"; 
    Service service = new Service(); 
    Call call = (Call) service.createCall(); 
    call.setTargetEndpointAddress(new java.net.URL(endpoint)); 
    call.setOperationName("sendSM"); 
    result = Integer.parseInt("" + call.invoke(new Object[] 
    {apiCode, loginName, loginPwd, mobiles, content, smId, 
    ""}));    
    }catch(Exception e) 

    result = 7; 

      

  3.   

    2楼的,你查看下你的客户端调用服务器的那个url有没有写错~~最后的是?wsdl结尾的