Java調用WebService – JAVA編程語言程序開發技術文章

package biz;

  import java.util.Date;

  import java.text.DateFormat;

  import org.apache.axis.client.Call;

  import org.apache.axis.client.Service;

  import javax.xml.namespace.QName;

  import java.lang.Integer;

  import javax.xml.rpc.ParameterMode;

  public class TempService {

  public static void main(String[] args) {

  try {

  String endpoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl";

  // 創建一個服務(service)調用(call)

  Service service = new Service();

  Call call = (Call)service.createCall();// 通過service創建call對象

  // 設置service所在URL

  call.setTargetEndpointAddress(new java.net.URL(endpoint));

  call.setOperationName(new QName("http://WebXml.com.cn/","getMobileCodeInfo"));

  //Add 是net 那邊的方法 "http://tempuri.org/" 這個也要註意Namespace 的地址,不帶也會報錯

  call.addParameter(new QName("http://WebXml.com.cn/","mobileCode"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

  call.addParameter(new QName("http://WebXml.com.cn/","userID"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

  // 這就是我搞瞭一天的原因所在,"test" 這個就是傳參數的變量,也就是NET方面的參數,一定不要帶錯瞭

  // 我當初不知道 ,以為這個參數是自己隨便寫的,結果總是報NULL,真是氣死人瞭

  call.setUseSOAPAction(true);

  call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); //返回參數的類型

  call.setSOAPActionURI("http://WebXml.com.cn/getMobileCodeInfo"); //這個也要註意 就是要加上要調用的方法Add,不然也會報錯

  // Object 數組封裝瞭參數,參數為"This is Test!",調用processService(String arg)

  String ret = (String)call.invoke(new Object[]{"13473211647",""});

  System.out.println("——–"+ret);

  }

  catch (Exception e)

  {

  System.err.println(e.toString());

  }

  }

  }

 

作者 sdtarena

發佈留言