我的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請求內的授權頭),每種配置等......沒有任何工作。
請幫我一把,我絕望!
嘿,謝謝你的回答。 silverlight .NET子網(在這種情況下爲WP8.0)上不存在basicHttpsBinding。無論如何,根據MSDN,basicHttpBinding也可以處理HTTPS。 –