2015-05-20 58 views
0

我的WP8.0應用程序遇到問題,我想通過BASIC身份驗證從它訪問HTTPS WCF服務。Windows Phone 8.0上的HTTPS WCF服務:無法進行身份驗證

一切都是已經上使用.NET框架4.5

工作的控制檯應用程序代碼中的C#控制檯應用程序的工作:

的App.config:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpsBinding> 
       <binding name="WS_CubicusMobileSOAPBinding"> 
        <security mode="Transport"> 
        <transport clientCredentialType="Basic" proxyCredentialType="Basic" realm="xxxxxx.xx.xx" /> 
        </security> 
       </binding> 
      </basicHttpsBinding > 

     </bindings> 
     <client> 
      <endpoint address="https://xxx.xxx.xx/xxx/awws/xxxxx.awws" 
       binding="basicHttpsBinding" bindingConfiguration="WS_CubicusMobileSOAPBinding" 
       contract="ServiceReference1.WS_CubicusMobileSOAPPortType" 
       name="WS_CubicusMobileSOAPPort" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

這C#代碼:

ServiceReference1.WS_CubicusMobileSOAPPortTypeClient proxy = new WS_CubicusMobileSOAPPortTypeClient(); 
proxy.ClientCredentials.UserName.UserName = "xxxxxx"; 
proxy.ClientCredentials.UserName.Password = "xxxxxx"; 
var e = proxy2.ConnexionTestWP(anObject); 

不工作WP8.0 CODE:

ServiceReferences.ClientConfig:

<configuration> 
    <system.serviceModel> 

    <bindings> 
     <basicHttpBinding> 
     <binding name="WS_CubicusMobileSOAPBinding" maxBufferSize="2147483647" 
      maxReceivedMessageSize="2147483647"> 
      <security mode="Transport" /> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="https://xxxxx.xxxxx.xxx/xxxxx/awws/xxxxx.awws" 
     binding="basicHttpBinding" bindingConfiguration="WS_CubicusMobileSOAPBinding" 
     contract="ServiceReference1.WS_CubicusMobileSOAPPortType" name="WS_CubicusMobileSOAPPort" /> 
    </client> 

    </system.serviceModel> 


</configuration> 

的C#代碼正好是比控制檯應用程序一個相同的(除了它的異步)。

我收到一個CommunicationException,說「附加信息:遠程服務器返回一個錯誤:NotFound。」

唯一小提琴手看到: http://i.stack.imgur.com/VzYhf.png

聽說Silverlight客戶端需要在客戶端crossdomain.xml檔案工作,所以我包括在服務器的根目錄文件。仍然沒有工作...

我覺得我試過每一個綁定(如自定義綁定),每個C#代碼(如手動添加WCF請求內的授權頭),每種配置等......沒有任何工作。

請幫我一把,我絕望!

回答

0

您在Windows Phone中使用basicHttpBinding,但在控制檯應用程序中使用basicHttpsBinding。您是否已關閉服務器上的http

+0

嘿,謝謝你的回答。 silverlight .NET子網(在這種情況下爲WP8.0)上不存在basicHttpsBinding。無論如何,根據MSDN,basicHttpBinding也可以處理HTTPS。 –

相關問題