Melewati parameter ke fungsi WCF menggunakan Objective c

Adakah yang bisa memberi tahu saya cara meneruskan parameter ke fungsi WCF menggunakan tujuan c?
1. Saya menggunakan C# untuk mengembangkan WCF.
2. Titik akhir WCF adalah sebagai berikut.

<system.serviceModel>
  <services>
    <service name="iAppServ.Service1" behaviorConfiguration="ServBehave">
      <!--Endpoint for SOAP-->
      <endpoint address="soapService" binding="basicHttpBinding"     contract="iAppServ.IService1"/>
      <!--Endpoint for REST-->
      <endpoint address="XMLService" binding="webHttpBinding" behaviorConfiguration="restPoxBehavior" contract="iAppServ.IService1"/>
    </service>
  </services>
  <bindings>
    <webHttpBinding>
      <binding crossDomainScriptAccessEnabled="True" name="webHttpBinding">
      </binding>
    </webHttpBinding>
  </bindings>
  <behaviors>
    <serviceBehaviors>
      <behavior name="ServBehave" >
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
    <endpointBehaviors>
      <!--Behavior for the REST endpoint for Help enability-->
      <behavior name="restPoxBehavior" >
        <webHttp helpEnabled="true"  />
      </behavior>
    </endpointBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>  
  1. Saya ingin menggunakan fungsi "SearchUserData" dengan meneruskan teks pencarian.

  2. WCF akan mengembalikan data XML.


person John Thomas    schedule 17.04.2013    source sumber
comment
Apa yang sudah kamu coba? Apakah Anda bahkan mencari postingan atau topik terkait? Menggunakan Layanan Web WCF menggunakan Objective-C di iPhone.   -  person Tim    schedule 17.04.2013
comment
Dan masih banyak lagi di sini - Memanggil WCF dengan tujuan c   -  person Tim    schedule 17.04.2013
comment
Terima kasih banyak, Tim. Saya sudah mencoba mencari konten dari tautan yang Anda sebutkan di sini. Kebanyakan dari mereka menggunakan layanan web, bukan WCF. Beberapa di antaranya menggunakan metode 'Dapatkan'. Saya baru mengenal tujuan C. Bisakah Anda menjelaskan topik ini?   -  person John Thomas    schedule 17.04.2013
comment
WCF adalah layanan web - ini adalah pengganti Microsoft untuk layanan web lama mereka (.ASMX) dan jarak jauh. Metode Dapatkan terdengar seperti REST (jenis layanan web lain). Saya belum pernah bekerja di Objective-C, jadi saya tidak bisa menawarkan banyak hal selain tautan yang saya posting. Maaf.   -  person Tim    schedule 17.04.2013
comment
Tidak apa-apa, Tim. Bantuan Anda dihargai. Menunggu komentar lainnya :)   -  person John Thomas    schedule 17.04.2013


Jawaban (1)


Kode ini berfungsi dengan baik.

NSString *soapMessage = [NSString stringWithFormat:@"<SearchUserData xmlns=\"http://tempuri.org/\"><SearchText>"];

soapMessage=[soapMessage stringByAppendingString:searchBar.text];
soapMessage=[soapMessage stringByAppendingString:@"</SearchText> </SearchUserData> "];

NSURL *url = [NSURL URLWithString:@"http://your server.svc/XMLService/SearchUserData"];

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];

[theRequest addValue: @"text/xml; charset=utf-16" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://tempuri.org/IService1/SearchUserData" forHTTPHeaderField:@"SOAPAction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
// NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

if(theConnection) {
    NSError *WSerror;
    NSURLResponse *WSresponse;
    NSString *theXml;
    NSData *myData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&WSresponse error:&WSerror];
    theXml = [[NSString alloc]initWithBytes:[myData bytes] length:[myData length] encoding:NSUTF8StringEncoding];

    NSLog(@"%@",theXml);



}
else {

    NSLog(@"theConnection is NULL");
}
person islahul    schedule 23.04.2013