1

我创建了一个非常简单的 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>

以前我已经在设备上指定了一个代理并且可以正常工作,但是代理硬件已经发生故障并且应用程序无法正常工作。我还能如何处理身份验证?

菲尔

4

1 回答 1

1

Http 407 是指网络上的代理服务器的网络错误。

您需要在 system.web 中设置代理身份验证参见: http: //www.mikebevers.be/blog/2009/06/wcf-http-407-proxy-authentication-required/

由于 WinCe 是一个 Windows 操作系统,它可能会自动向代理服务器验证自己的身份。

于 2011-06-01T19:12:12.923 回答