public SoapPrimitive detail; // 命名空間 //webservice地址 //此處是命名空間+方法名 //WSDL文檔中的URL private OnClickListener calc = new OnClickListener() { @Override public void onClick(View v) { //第一個參數是命名空間第二個參數是要調用的方法 SoapObject request = new SoapObject(NAMESPACE, "GetComapnyXML" ); /* 第一種傳參,參數名不一定要於webservice參數統一,但一定要按順序 request.addProperty("StartCount", "1"); request.addProperty("EndCount", "2"); request.addProperty("jobCount", "2"); */ /* 第二種傳參 */ PropertyInfo pi = new PropertyInfo(); pi.setName( "StartCount" ); pi.setValue( "1" ); request.addProperty(pi); pi = new PropertyInfo(); pi.setName( "EndCount" ); pi.setValue( "2" ); request.addProperty(pi); pi = new PropertyInfo(); pi.setName( "jobCount" ); pi.setValue( "2" ); request.addProperty(pi); Element[] header = new Element[ 1 ]; header[ 0 ] = new Element().createElement(NAMESPACE, "CompanyToken" ); //如果有多個按下面一樣寫法 Element pwd = new Element().createElement(NAMESPACE, "CompanyKey" ); pwd.addChild(Node.TEXT, "密碼" ); header[ 0 ].addChild(Node.ELEMENT, pwd); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.headerOut = header; envelope.bodyOut = request; envelope.dotNet = true ; envelope.setOutputSoapObject(request); //HttpTransportSE ht = new HttpTransportSE(WebServiceURL); AndroidHttpTransport httpTranstation= new AndroidHttpTransport(WSDL); try { //ht.call(SOAP_ACTION, envelope); httpTranstation.call(SOAP_ACTION, envelope); detail = (SoapPrimitive) envelope.getResponse(); TextConten.setText(detail.toString()); } catch (IOException e) { // TODO Auto-generated catch block //e.printStackTrace(); Log.e( this .toString(),e.toString()); //Toast.makeText(WebserviceTestActivity.this, // "文件流錯誤" + e.toString(), Toast.LENGTH_LONG); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); //Toast.makeText(WebserviceTestActivity.this, // "XML文件流錯誤" + e.toString(), Toast.LENGTH_LONG); } catch (Exception e) { // TODO: handle exception //Toast.makeText(WebserviceTestActivity.this, // "錯誤" + e.toString(), Toast.LENGTH_LONG); Log.e( this .toString(),e.toString()); } } }; |
<? xml version = "1.0" encoding = "utf-8" ?> < soap:Envelope xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/" > < soap:Header > < CompanyKey >string</ CompanyKey > </ CompanyToken > </ soap:Header > < soap:Body > < StartCount >string</ StartCount > < EndCount >string</ EndCount > < jobCount >string</ jobCount > </ GetComapnyXML > </ soap:Body > |