2011-04-04 12 views
7

मैं एक WCF 4 सेवा परियोजना है कि मैं WCF बाकी सेवा खाका 40.WCF 4 साबुन और JSON Endpoint DotNetOpenAuth

मेरा लक्ष्य दोनों एक SOAP एंडपॉइंट के रूप में एक WCF सेवा से बाहर का पर्दाफाश करने और उपयोग कर बनाई गई है द्वारा सुरक्षित एक विश्वसनीय अंतराल जो जेएसओएन स्वरूपित डेटा देता है। दोनों एंडपॉइंट्स को मेरे DotNetOpenAuth OAuthAuthorizationManager के माध्यम से संरक्षित किया जाना चाहिए जिसे नमूना प्रोजेक्ट से कॉपी किया गया है।

इस प्रकार, मेरे पास एक एसओएपी डब्ल्यूसीएफ सेवाएं हैं जो मेरे ओएथ सेवा प्रदाता से उपभोक्ता को सफलतापूर्वक अधिकृत कर सकती हैं। ऐसा करने के लिए मैंने उसी कॉन्फ़िगरेशन का उपयोग किया जो DotNetOpenAuth सेवा प्रदाता उदाहरण में था।

अब, मैं एक ही सेवा के लिए एक डब्ल्यूसीएफ रीस्टफुल जेएसओएन प्रतिक्रिया एंडपॉइंट स्थापित करने की कोशिश कर रहा हूं और उस एंडपॉइंट को सुरक्षित भी कर रहा हूं। मुझे यकीन है कि इसे कैसे पूरा किया जाए। मेरे प्रारंभिक विचार यह ऐसा दिखाई बनाने के लिए किया गया था: एक फैक्टरी की स्थापना करता है, तो http://www.theleagueofpaul.com/codesnippet-ooo-openid-odata-oauth-together

मुझे यकीन है कि नहीं कर रहा हूँ:

<behaviors> 
    <serviceBehaviors> 
    <behavior name="DataApiBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
     <serviceAuthorization principalPermissionMode="Custom" serviceAuthorizationManagerType="OAuthServiceProvider.Core.OAuthAuthorizationManager, OAuthServiceProvider" /> 
    </behavior> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

<services> 
    <service behaviorConfiguration="DataApiBehavior" name="OAuthServices.DataApi"> 
    <endpoint address="soap" binding="wsHttpBinding" contract="OAuthServices.Interfaces.IDataApi"/> 
    <endpoint address="json" binding="webHttpBinding" contract="OAuthServices.Interfaces.IDataApi"/> 
    </service> 
</services> 

और फिर मैं RESTful WCF सेवाओं + DotNetOpenAuth एक साथ काम करने के बारे में इस ब्लॉग पोस्ट को देखा साथ ही सेवा कॉन्फ़िगरेशन का सेवा प्राधिकरण अनुभाग समस्याएं पैदा करेगा।

मैं भी अनिश्चित हूं कुछ भी मैं Global.asax में RegisterRoutes विधि में क्या करने की जरूरत है, तो:

private void RegisterRoutes() 
{ 
    RouteTable.Routes.Add(new ServiceRoute("DataApi", new WebServiceHostFactory(), typeof(DataApi))); 
} 

यहाँ किसी भी सलाह की सराहना की जाएगी। किसी भी सहायता के लिए धन्यवाद।

अगर आपको अधिक जानकारी चाहिए तो कृपया मुझे बताएं।

उत्तर

1
नहीं

यकीन है, लेकिन मुझे लगता है कि सोप आप basicHttpBinding उपयोग करने की आवश्यकता को सक्षम करने के बारे में सुना और निर्धारित किया है

aspNetCompatibilityEnabled = "true"

मैं गलत हो सकता है, लेकिन क्यों की कोशिश नहीं कर रहा?

+0

सही! जेसन एंडपॉइंट के काम करने के लिए आपको aspNetCompatibilityEnabled = "Tru" के साथ BasicHttp बाइंडिंग की आवश्यकता है –

संबंधित मुद्दे