First, i host my wcf service in winform and i try to use wsHttpBinding. My client application work only in my development computer. Why is my WCF wshttpbinding client doesn't work at another computer? in another computer it showed "the caller was not authenticated by the service" when i execute the service

Here is my WCF winform host configuration (app.config) :

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
      <add name="DBCS"
           connectionString="data source=localhost;DataBase=LatihanSP;Integrated Security=SSPI"
           providerName="System.Data.SqlClient" />
    </connectionStrings>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="XServerSvcBehavior">
                    <serviceDebug includeExceptionDetailInFaults="true" />
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="XServerSvcBehavior" name="ServerTier.ServiceClient">
                <endpoint address="" binding="wsHttpBinding" bindingConfiguration=""
                    name="XServerSvcBasicHttpEndPoint" contract="ServerTier.IServiceClient" />
                <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
                    name="XServerSvcMexHttpEndPoint" contract="IMetadataExchange" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:7777/SampleSvc" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>

```

And here is my client app.config

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="XServerSvcBasicHttpEndPoint" />
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:7777/SampleSvc" binding="wsHttpBinding"
                bindingConfiguration="XServerSvcBasicHttpEndPoint" contract="ServiceRef.IServiceClient"
                name="XServerSvcBasicHttpEndPoint">
                <identity>
                    <userPrincipalName value="Kevin-EDP\Kevin" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>

```

i try to change the userPrincipalName value to the name of the computer, still my client won't work, when i execute the service, it showed up "the caller was not authenticated by the service"
i am really sure my code is working, when i use basicHttpBinding, and when i look some solution over the internet, most of people suggest to use basicHttpBinding, but that's not the answer i want, i want to use wsHttpBinding for security reason

help me out guys, i am stuck almost 3 days, still can't figure it out