Question

On the time of installer I install new certificate on each machine so i need to update application config file with certificate encoded value.

<client>
            <endpoint address="http://localhost:4064/DOXFA/MDMFileAccess.svc/epMainFA"
             binding="wsFederationHttpBinding" bindingConfiguration="epMainFA"
             contract="FileAccessService.IAMICASFileAccessService" name="epMainFA">
                <identity>
                    <certificate encodedValue="**encoded value..."** />
                </identity>
            </endpoint>
            ....
<client>

Application use AbcService WCF services perform some of the operation. so installer use svcutil to create config file and extract certificate encoded value and place it in applicatuion config file.

However svcutil not producing any config file now.

svcutil.exe "http://localhost:4064/WebApp/Abc.svc?wsdl" /config:C:\wcf.config

Microsoft (R) Service Model Metadata Tool [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.648] Copyright (c) Microsoft Corporation. All rights reserved.

Attempting to download metadata from 'http://localhost:4064/WebApp/Abc.svc?wsdl' using WS-Metadata Exchange or DISCO.

Error: Cannot import wsdl:binding Detail: Cannot find usable policy alternatives. XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='epAbc']

Error: Cannot import wsdl:port Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on. XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='epAbc'] XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:service[@name='AbcService']/wsdl:port@name='epAbc']

Generating files... C:\AbcService.cs

web.config looks like (modified one)

<system.serviceModel>
    <bindings>
        <wsFederationHttpBinding>
            <binding name="bindMainFederation" closeTimeout="00:05:00" openTimeout="00:05:00"
                sendTimeout="00:10:00" maxReceivedMessageSize="2147483647">
                <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                    maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
                <security>
                    <message>
                        <issuerMetadata address="http://*ADDRESS*/appID/appID.svc/mex">
                            <identity>
                                <dns value="ADOCMergeSTS.com" />
                            </identity>
                        </issuerMetadata>
                    </message>
                </security>
            </binding>
        </wsFederationHttpBinding>
    </bindings>
    <services>
        <service behaviorConfiguration="bhFederatedIdentity" name="X.AbcService">
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
            <endpoint address="epAbc" binding="wsFederationHttpBinding"
                bindingConfiguration="bindMainFederation" name="epAbc" contract="X.IAbcService" />
        </service>
    </services>
    <behaviors>
        <serviceBehaviors>
            <behavior name="bhFederatedIdentity">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
                <serviceDebug httpsHelpPageEnabled="false" includeExceptionDetailInFaults="true" />
                <serviceTimeouts transactionTimeout="00:25:00" />
                <serviceCredentials>
                    <serviceCertificate findValue="ADOCMergeService.com" storeLocation="LocalMachine"
                        storeName="My" x509FindType="FindBySubjectName" />
                    <issuedTokenAuthentication certificateValidationMode="PeerTrust">
                        <knownCertificates>
                            <add findValue="ADOCMergeSTS.com" storeLocation="LocalMachine"
                                storeName="TrustedPeople" x509FindType="FindBySubjectName" />
                        </knownCertificates>
                    </issuedTokenAuthentication>
                </serviceCredentials>
                <serviceAuthorization principalPermissionMode="None" serviceAuthorizationManagerType="X.AbcAuthorizationManager, x" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>
</configuration>
Was it helpful?

Solution

This was an issue with svcutil.exe. I am able to resolve this by restoring a svcutil.exe from another machine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top