最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 調(diào)用WCF實例詳解

 更新時間:2016年11月26日 11:49:52   投稿:lqh  
這篇文章主要介紹了Android 調(diào)用WCF實例詳解的相關(guān)資料,這里提供了實例代碼及實現(xiàn)效果圖,需要的朋友可以參考下

Android 調(diào)用WCF實例

1. 構(gòu)建服務(wù)端程序

using System.ServiceModel;

namespace yournamespace
{
  [ServiceContract(Name = "HelloService", Namespace = "http://www.master.haku")]
  public interface IHello
  {
    [OperationContract]
    string SayHello();
  }
}


namespace YourNameSpace
{
  public class YourService  
  {
   public string SayHello(string words)
   {
      return "Hello " + words;
   }
  }
}

2. 構(gòu)建IIS網(wǎng)站宿主

  YourService.svc

<%@ServiceHost Debug="true" Service="YourNameSpace.YourService"%>

  Web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.serviceModel>
  <serviceHostingEnvironment>
   <serviceActivations >
    <add relativeAddress="YourService.svc" service="YourNameSpace.YourService"/>
   </serviceActivations >
  </serviceHostingEnvironment >

  <bindings>
   <basicHttpBinding>
    <binding name="BasicHttpBindingCfg" closeTimeout="00:01:00"
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
      bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
      messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
      allowCookies="false">
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
       maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     <security mode="None">
      <transport clientCredentialType="None" proxyCredentialType="None"
        realm="" />
      <message clientCredentialType="UserName" algorithmSuite="Default" />
     </security>
    </binding>
   </basicHttpBinding>
  </bindings>
  
  <services>
   <service name="YourNameSpace.YourService" behaviorConfiguration="ServiceBehavior">
    <host>
     <baseAddresses>
      <add baseAddress="http://localhost:59173/YourService"/>
     </baseAddresses>
    </host>
    <endpoint binding="basicHttpBinding" contract="YourNameSpace.你的服務(wù)契約接口">
     <identity>
      <dns value="localhost" />
     </identity>
    </endpoint>
   </service>
  </services>

  <behaviors>
   <serviceBehaviors>
    <behavior name="ServiceBehavior">
     <serviceMetadata httpGetEnabled="true" />
     <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
   </serviceBehaviors>
  </behaviors>
 </system.serviceModel>
 <system.web>
  <compilation debug="true" />
 </system.web>
</configuration>

3. 寄宿服務(wù)

  把網(wǎng)站發(fā)布到web服務(wù)器, 指定網(wǎng)站虛擬目錄指向該目錄

  如果你能夠訪問http://你的IP:端口/虛擬目錄/服務(wù).svc

  那么,恭喜你,你的服務(wù)端成功了! 

4. 使用ksoap2調(diào)用WCF

  去ksoap2官網(wǎng)

  http://code.google.com/p/ksoap2-android/ 下載最新jar

 5. 在Eclipse中新建一個Java項目,測試你的服務(wù)

  新建一個接口, 用于專門讀取WCF返回的SoapObject對象

  ISoapService



package junit.soap.wcf;

import org.ksoap2.serialization.SoapObject;

public interface ISoapService {
  SoapObject LoadResult();
}


   HelloService



package junit.soap.wcf;

import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

public class HelloService implements ISoapService {
  private static final String NameSpace = "http://www.master.haku";
  private static final String URL = "http://你的服務(wù)器/虛擬目錄/你的服務(wù).svc";
  private static final String SOAP_ACTION = "http://www.master.haku/你的服務(wù)/SayHello";
  private static final String MethodName = "SayHello";
  
  private String words;
  
  public HelloService(String words) {
    this.words = words;
  }
  
  public SoapObject LoadResult() {
    SoapObject soapObject = new SoapObject(NameSpace, MethodName);
    soapObject.addProperty("words", words);
    
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); // 版本
    envelope.bodyOut = soapObject;
    envelope.dotNet = true;
    envelope.setOutputSoapObject(soapObject);
    
    HttpTransportSE trans = new HttpTransportSE(URL);
    trans.debug = true; // 使用調(diào)試功能
    
    try {
      trans.call(SOAP_ACTION, envelope);
      System.out.println("Call Successful!");
    } catch (IOException e) {
      System.out.println("IOException");
      e.printStackTrace();
    } catch (XmlPullParserException e) {
      System.out.println("XmlPullParserException");
      e.printStackTrace();
    }
    
    SoapObject result = (SoapObject) envelope.bodyIn;
    
    return result;
  }
}

  測試程序

package junit.soap.wcf;

import org.ksoap2.serialization.SoapObject;

public class HelloWcfTest {
  public static void main(String[] args) {
    HelloService service = new HelloService("Master HaKu");
    SoapObject result = service.LoadResult();
    
    System.out.println("WCF返回的數(shù)據(jù)是:" + result.getProperty(0));
  }
}

   經(jīng)過測試成功

   運(yùn)行結(jié)果:

   Hello Master HaKu

6. Android客戶端測試

package david.android.wcf;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import org.ksoap2.serialization.SoapObject;

public class AndroidWcfDemoActivity extends Activity {
  private Button mButton1;
  private TextView text;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mButton1 = (Button) findViewById(R.id.myButton1);
    text = (TextView) this.findViewById(R.id.show);

    mButton1.setOnClickListener(new Button.OnClickListener() {
      @Override
      public void onClick(View v) {
        
         HelloService service = new HelloService("Master HaKu");
                SoapObject result = service.LoadResult();

        text.setText("WCF返回的數(shù)據(jù)是:" + result.getProperty(0));
      }
    });
  }
}


7. 最后運(yùn)行結(jié)果

 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • kotlin中使用ViewBinding綁定控件的方法

    kotlin中使用ViewBinding綁定控件的方法

    View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實現(xiàn)還是通過使用findViewById,這篇文章主要介紹了kotlin中使用ViewBinding綁定控件,需要的朋友可以參考下
    2024-03-03
  • Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能示例

    Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能示例

    這篇文章主要介紹了Android編程實現(xiàn)的自定義彈窗(PopupWindow)功能,結(jié)合簡單實例形式分析了Android自定義彈窗實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-03-03
  • Android打包上傳AAR文件到Maven倉庫的示例

    Android打包上傳AAR文件到Maven倉庫的示例

    這篇文章主要介紹了Android打包上傳AAR文件到Maven倉庫的示例,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-03-03
  • 關(guān)于RxJava的一些特殊用法小結(jié)

    關(guān)于RxJava的一些特殊用法小結(jié)

    RxJava 是一個響應(yīng)式編程框架,采用觀察者設(shè)計模式。下面這篇文章主要總結(jié)介紹了一些關(guān)于RxJava的特殊用法,需要的朋友可以參考借鑒,下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-05-05
  • Android自定義view實現(xiàn)滾動選擇控件詳解

    Android自定義view實現(xiàn)滾動選擇控件詳解

    最近在開發(fā)中需要實現(xiàn)滾動進(jìn)行類別的選擇,也就是我們所說的滾動選擇器,這里我們自定義來實現(xiàn)這個功能,這篇文章主要介紹了Android自定義view實現(xiàn)滾動選擇控件
    2022-11-11
  • 基于android實現(xiàn)五子棋開發(fā)

    基于android實現(xiàn)五子棋開發(fā)

    這篇文章主要為大家詳細(xì)介紹了基于android實現(xiàn)五子棋開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Android使用ImageView實現(xiàn)支持手勢縮放效果

    Android使用ImageView實現(xiàn)支持手勢縮放效果

    這篇文章主要介紹了Android使用ImageView實現(xiàn)支持手勢縮放效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Android開發(fā)之將兩張圖片合并為一張圖片的方法

    Android開發(fā)之將兩張圖片合并為一張圖片的方法

    這篇文章主要介紹了Android開發(fā)之將兩張圖片合并為一張圖片的方法,涉及Android基于Canvas類操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • Flutter進(jìn)階之實現(xiàn)動畫效果(一)

    Flutter進(jìn)階之實現(xiàn)動畫效果(一)

    這篇文章主要為大家詳細(xì)介紹了Flutter實現(xiàn)動畫效果的第一篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android開發(fā)之時間日期組件用法實例

    Android開發(fā)之時間日期組件用法實例

    這篇文章主要介紹了Android開發(fā)之時間日期組件用法,主要介紹了TimePicker和DatePicker組件,對于Android程序開發(fā)有不錯的借鑒價值,需要的朋友可以參考下
    2014-08-08

最新評論

衡阳县| 沐川县| 郎溪县| 绿春县| 林周县| 宁安市| 凤山市| 唐河县| 吕梁市| 永顺县| 搜索| 昌平区| 大安市| 林周县| SHOW| 永靖县| 溧水县| 三台县| 龙川县| 富平县| 昌平区| 拜城县| 印江| 平乐县| 红原县| 湘阴县| 化州市| 通城县| 乌拉特后旗| 海晏县| 巴里| 喀喇沁旗| 雅江县| 龙岩市| 九龙城区| 霍林郭勒市| 滨州市| 赣榆县| 宣威市| 临清市| 南郑县|