问题描述
|
我创建了一个非常简单的WCF服务,该服务从sql Server向客户端返回数据时间戳,但是从Pocket PC 2003 Psion设备访问该服务时遇到问题。
从WinCe 5设备访问服务时,我没有任何问题,但是当我将客户端代码部署到PPC2003时,它将生成407代理身份验证异常。
我使用NetCFSvcUtil.exe生成了代理类,并将它们导入项目中没有问题,但是在运行PPC2003时无法访问。
<system.serviceModel>
<bindings />
<services>
<service behaviorConfiguration=\"TimeStampServiceBehavior\"
name=\"JCB.QSmart.Mobile.DataService.ServerTime\">
<clear />
<endpoint address=\"TimeStamp\"
binding=\"basicHttpBinding\"
name=\"TimeStamp\"
contract=\"JCB.QSmart.Mobile.DataService.IServerTime\"
listenUriMode=\"Explicit\">
</endpoint>
<endpoint address=\"mex\"
binding=\"mexHttpBinding\"
name=\"mex\"
contract=\"IMetadataExchange\"
listenUriMode=\"Explicit\">
</endpoint>
<host>
<baseAddresses>
<add baseAddress=\"http://xxx.xxx.xxx.xxx:8080/QSmartV2\" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name=\"TimeStampServiceBehavior\">
serviceMetadata httpGetEnabled=\"true\"/>
<serviceDebug includeExceptionDetailInFaults=\"true\"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
以前,我在设备上指定了一个代理,并且可以正常工作,但是代理硬件已损坏,应用程序无法正常工作。我还能如何处理身份验证?
菲尔
解决方法
Http 407是网络错误,引用了网络上的代理服务器。
您需要在system.web中设置代理身份验证,请参阅:http://www.mikebevers.be/blog/2009/06/wcf-http-407-proxy-authentication-required/
由于WinCe是Windows操作系统,因此它可能会自动向代理服务器进行身份验证。