Re: VS2008 creates a 2nd endpoint when actualising a web reference



Hi Steven,

okay I will try to remove and add the service reference again.
As for the identity: I think I want to use transport security.
So the question is:
If I remove the

<identity>
<userPrincipalName value="Domain\Username" />
</identity>

section the client uses my user name anyway, or?
More problematic If I leave this in, I can't connect to the service
(SSPI-Failure).


Frank

Steven Cheng [MSFT] schrieb:
Hi Frank,

From your description, you are developing an WCF service and a client through VS 2008. The service used to use wshttpbinding, and when you switch it to netTcpBinding and regenerate the service reference at client, you found the client generate two configuration section for the service endpoint , correct?

Based on my experience, such behavior might occur at the following situation:

* you have an WCF service endpoint using certain configuration(binding and behavior ...)

* you change its binding or other settings

* without remove the original client service reference(proxy class) in client project, you directly update the reference, it might keep the original reference setting and generate a new client endpoint entry.

Therefore for this issue, I suggest you always first remove the existing client-side service reference(in solution explorer), this will make the IDE remove the proxy class and also clear the app.config file. Then, add the "service reference" again in the project.

For the second issue you mentioned:

=====================
but the name and bindingConfiguration have the suffix "1" . Additional VS2008
creates this entry:

<identity>
<userPrincipalName value="Domain\Username" />
</identity>
=========================

based on the document you can see that this element <identity> is used to set a predefined identiy for the expected server-side service(not for client):

#<identity>
http://msdn.microsoft.com/en-us/library/ms731721.aspx

Therefore, it is generated by the IDE according to the server-side service's identity. By default when using netTCPBinding, WCF service endpoint will use windows authentication and if you are using the VS IDE test server(instead of IIS), the service's running process identity is the current logon user(that should be the "domain\username" for your case. You can manually specify another expected identity(but the default one is ok).

Or if you do not need security feature for the current case, you can turn it off in your service configuration( in the NetTcpBinding configuration):

For example:
==============================
<system.serviceModel>
<services>
<service behaviorConfiguration="WCFIDESvr.TestServiceBehavior"
.............
<endpoint address="net.Tcp://localhost:8989/TestService" binding="netTcpBinding"
bindingConfiguration="TSBinding"
contract="WCFIDESvr.ITestService">
</endpoint>
......................
</service>
</services>

<bindings>
<netTcpBinding>
<binding name="TSBinding" >
<!-- i turn off the security here -->
<security mode="None" >
<transport clientCredentialType="None"/>
<message clientCredentialType="None"/>
</security>
</binding>
</netTcpBinding>
</bindings>
================================

You can get more about the WCF configuration schema info here:

#Windows Communication Foundation Configuration Schema
http://msdn.microsoft.com/en-us/library/ms731734.aspx

and for WCF security programming:

#Windows Communication Foundation Security
http://msdn.microsoft.com/en-us/library/ms732362.aspx

If there is anything unclear, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and suggestions about how we can improve the support we provide to you. Please feel free to let my manager know what you think of the level of service provided. You can send feedback directly to my manager at: msdnmg@xxxxxxxxxxxxxx

==================================================
Get notification to my posts through email? Please refer to http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues where an initial response from the community or a Microsoft Support Engineer within 1 business day is acceptable. Please note that each follow up response may take approximately 2 business days as the support professional working with you may need further investigation to reach the most efficient resolution. The offering is not appropriate for situations that require urgent, real-time or phone-based interactions or complex project analysis and dump analysis issues. Issues of this nature are best handled working with a dedicated Microsoft Support Engineer by contacting Microsoft Customer Support Services (CSS) at http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
Date: Wed, 23 Jul 2008 19:52:42 +0200
From: Frank Hauptlorenz <ecstasy.tribe@xxxxxxxxxxxxx>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
MIME-Version: 1.0
Subject: VS2008 creates a 2nd endpoint when actualising a web reference

Hello out there,

I changed an existing and good working webservice from an wsHttpBinding to an NetTcpBinding.
This is working (after trying some time) and has real a better performance!

But one thing is strange: when I'm now actualising the web reference from within VS2008, VS2008
creates a 2nd endpoint config in my app.conf.
The endpoint is exactly the same as the existing but the name and bindingConfiguration have the suffix "1" . Additional VS2008
creates this entry:

<identity>
<userPrincipalName value="Domain\Username" />
</identity>

Where Domain\Username is my username in the domain.
The client does not run with these informations, I have to remove them manually.


What's wrong with VS2008?


Thank you,
Frank


.



Relevant Pages

  • RE: Error on SOAP Call on only one machine: Could not find default endpoint element that references
    ... "Service Reference" is a proxy class used for consuming WCF service. ... Though WCF client can also consume standard XML webservice, ... Microsoft MSDN Online Support Lead ...
    (microsoft.public.dotnet.languages.vb)
  • Re: .config file: How to configure message encryption with x509certificates.
    ... the error is caused by the sevice endpoint identity of the ... server-side doesn't match the one used at client-side(by default client use ... Microsoft MSDN Online Support Lead ... Subject: .config file: How to configure message encryption with ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: VS2008 creates a 2nd endpoint when actualising a web reference
    ... If I remove it and then actualise, VS2008 will create me a second client entry. ... The service used to use wshttpbinding, and when you switch it to netTcpBinding and regenerate the service reference at client, you found the client generate two configuration section for the service endpoint, correct? ... We welcome your comments and suggestions about how we can improve the support we provide to you. ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: vb office automation questions
    ... release instead of needing to go back to the code and add new reference then ... rebuild and new installation to client just for the new office reference? ... for each version you intend to support. ... This reply is posted in the Newsgroup; please post any follow question or reply ...
    (microsoft.public.office.developer.automation)
  • Re: Change WCF client endpoint address
    ... You can pass a new Endpoint address instancein your ... WCF client proxy's constructor, e.g. ... Microsoft MSDN Online Support Lead ...
    (microsoft.public.dotnet.framework.webservices)

Loading