Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 99111
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:19:30+00:00 2026-05-11T00:19:30+00:00

In my web app I use several asmx (Web Services) from the same provider,

  • 0

In my web app I use several asmx (Web Services) from the same provider, they have one for this, other for that, but all require a SOAP Header with Authentication.

It is simple to add the Authentication:

public static SoCredentialsHeader AttachCredentialHeader() {     SoCredentialsHeader ch = new SoCredentialsHeader();     ch.AuthenticationType = SoAuthenticationType.CRM5;     ch.UserId = 'myUsername';     ch.Secret = apUtilities.CalculateCredentialsSecret(         SoAuthenticationType.CRM5, apUtilities.GetDays(), 'myUsername', 'myPassword');     return ch; } 

The problem is this SoCredentialsHeader come (derivation) from ONE webservice and I need to add the same code to the others, like:

public static wsContact.SoCredentialsHeader AttachContactCredentialHeader() {     wsContact.SoCredentialsHeader ch = new wsContact.SoCredentialsHeader();     ch.AuthenticationType = wsContact.SoAuthenticationType.CRM5;     ch.UserId = 'myUsername';     ch.Secret = apUtilities.CalculateCredentialsSecret(         wsContact.SoAuthenticationType.CRM5, apUtilities.GetDays(), 'myUsername', 'myPassword');     return ch; }  public static wsDiary.SoCredentialsHeader AttachDiaryCredentialHeader() {     wsDiary.SoCredentialsHeader ch = new wsDiary.SoCredentialsHeader();     ch.AuthenticationType = wsDiary.SoAuthenticationType.CRM5;     ch.UserId = 'myUsername';     ch.Secret = apUtilities.CalculateCredentialsSecret(         wsDiary.SoAuthenticationType.CRM5, apUtilities.GetDays(), 'myUsername', 'myPassword');     return ch; } 

Is there a way to implement a design pattern in order to use only one function but that suits all webServices?

sometimes I see the T letter, is this a case for that? if yes, how can I accomplish such feature?

P.S. I could pass an enum and use a switch to check the enum name and apply the correct Header but everytime I need to add a new WebService, I need to add the enum and the code, I’m searcging for an advanced technique for this.

Thank you.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:19:31+00:00Added an answer on May 11, 2026 at 12:19 am

    Create a file called whatever.tt (the trick is the .tt extension) anywhere in your VS solution and paste the following code:

    using System;  namespace Whatever {     public static class Howdy     { <#      string[] webServices = new string[] {'wsContact', 'wsDiary'};     foreach (string wsName in webServices)     { #>     public static <#=wsName#>.SoCredentialsHeader AttachContactCredentialHeader()     {         <#=wsName#>.SoCredentialsHeader ch = new <#=wsName#>.SoCredentialsHeader();         ch.AuthenticationType = <#=wsName#>.SoAuthenticationType.CRM5;         ch.UserId = 'myUsername';         ch.Secret = apUtilities.CalculateCredentialsSecret(<#=wsName#>.SoAuthenticationType.CRM5,                 apUtilities.GetDays(), 'myUsername', 'myPassword');         return ch;     }     }        <# } #> } 

    Then watch as a whatever.cs magically appears with the desired code snippets.These are called T4 templates for code generation in VS.

    You’ll want to turn these into partial classes or extension methods or something. The above code will not function ‘as is’ but you get the idea.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 104k
  • Answers 104k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer If you are using Qt Designer (which I think is… May 11, 2026 at 8:34 pm
  • Editorial Team
    Editorial Team added an answer If you can disallow loops (outputs linking back to inputs),… May 11, 2026 at 8:34 pm
  • Editorial Team
    Editorial Team added an answer If you put a route constraint on the first one… May 11, 2026 at 8:34 pm

Related Questions

I have this strange issue with my web app. You see, I'm using jQuery
I'm using the Apache Cocoon framework, set up several eons ago for the web
I need to create several applications that all share a Microsoft SQL Server database.
I am going to start a C# project from scratch that will consist of

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.