SORU
9 EKİM 2008, PERŞEMBE


DİNLENME XML servisi için SOAP bitiş noktaları /

XML hizmeti var ve RESTfull bir hizmet ve SABUN servis olarak ifşa etmek istiyorum. Kimse daha önce böyle bir şey yaptı?

CEVAP
9 EKİM 2008, PERŞEMBE


İki farklı uç olarak hizmet getirebilir. SOAP bir SABUN örneğin basicHttpBinding destekleyen bağlama, Dinlendirici bir webHttpBinding kullanabilirsiniz kullanabilirsiniz. GERİSİ senin servis bu durumda JSON olacak sanırım, aşağıdaki davranış yapılandırma ile iki uç nokta yapılandırmanız gerekir

<endpointBehaviors>
  <behavior name="jsonBehavior">
    <enableWebScript/>
  </behavior>
</endpointBehaviors>

Senin senaryoda bitiş noktası yapılandırma örneğidir

<services>
  <service name="TestService">
    <endpoint address="soap" binding="basicHttpBinding" contract="ITestService"/>
    <endpoint address="json" binding="webHttpBinding"  behaviorConfiguration="jsonBehavior" contract="ITestService"/>
  </service>
</services>

yani, hizmet sunulacak

Bu Huzurlu yapmak için geçerli [WebGet] işlem sözleşme. örneğin

public interface ITestService
{
   [OperationContract]
   [WebGet]
   string HelloWorld(string text)
}

Eğer geri KALAN hizmet JSON ise not, operasyon parametreleri karmaşık türü içerebilir.

SOAP ve Dinlendirici ÇİÇEĞİ için yazılan(XML) cevap

Dönüş biçimi olarak düz eski XML, SOAP ve XML hem de işe yarar bir örnektir.

[ServiceContract(Namespace = "http://test")]
public interface ITestService
{
    [OperationContract]
    [WebGet(UriTemplate = "accounts/{id}")]
    Account[] GetAccount(string id);
}

SONUNA ÇİÇEĞİ davranışDüz Eski XML

<behavior name="poxBehavior">
  <webHttp/>
</behavior>

Bitiş noktası

<services>
  <service name="TestService">
    <endpoint address="soap" binding="basicHttpBinding" contract="ITestService"/>
    <endpoint address="xml" binding="webHttpBinding"  behaviorConfiguration="poxBehavior" contract="ITestService"/>
  </service>
</services>

Hizmet beğenisine sunuluyor

DİNLENME isteği tarayıcıda dene

http://www.example.com/xml/accounts/A123

SOAP isteği müşteri hizmet başvuru ekleme, sonra SABUN hizmeti için yapılandırma son nokta

  <client>
    <endpoint address="http://www.example.com/soap" binding="basicHttpBinding"
      contract="ITestService" name="BasicHttpBinding_ITestService" />
  </client>

C#

TestServiceClient client = new TestServiceClient();
client.GetAccount("A123");

Bunu yapmanın başka bir yolu da iki farklı hizmet sözleşmesi ve özel yapılandırma ile her birini ortaya çıkarmak için. Bu kod düzeyinde bazı çiftleri, ancak günün sonunda oluşturabilir, çalışma yapmak istiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EatingIn

    EatingIn

    12 EKİM 2013
  • habpsu

    habpsu

    25 Temmuz 2007
  • soyacincautv

    soyacincautv

    14 NİSAN 2010