Feeds:
Posts
Comments

Posts Tagged ‘Sydney’

For the folks developing on ESB Applications, this should be quite a common one. Posting it for those who have get prompted for this error (actually a warning) and would want to ignore it in your Visual Studio designer. In my case, I was testing this on BizTalk 2009. It also applies to BizTalk 2010.

Error: A X509 Certificate is required in the model property ‘EncryptionCertificate’ to encrypt any sensitive property in the designer

Solution:

  1. Open the file ruleset.config located at:
    Path: C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\Tools\Itinerary Designer\ruleset.config
  2. Navigate to the following element
    XPath: /configuration/validation/type/ruleset/properties/property
    Name: EncryptionCertificateUnder the above element comment out the validator type with name=”EncryptingCertificate validator” 

    Screen shot is as follows:
    Error with X509 Certificate using ESB 2.0

Happy coding … 8)

Read Full Post »

I was assigned the task of hosting my .NET WCF service on IIS 6 over windows 2003 64 bit !!. (Don’t ask – I didn’t have a choice on the parameters involved!)

I found out that Application Extensions were missing under my deployed website, ie no svc extension.
Path: under IIS –> Default Web Site –> MySite.WCF –> Properties –> Configuration

Solution:

It appears to be quite a  simple fix by running the aspnet extension registration. Screen shot as follows:

Happy configuring !

Read Full Post »

The following post applies to BizTalk 2009 and 2010 versions.

  1. Create an itinerary resolver extender class. This is a C# helper class
    Sample code:

    using System;
    using System.ComponentModel;
    using Microsoft.Practices.Modeling.ExtensionProvider.Extension;
    using Microsoft.Practices.Modeling.ExtensionProvider.Metadata;
    using Microsoft.Practices.Services.ItineraryDsl;
    
    namespace myNs.myExtenderClass
    {
    [Serializable]
    [ObjectExtender(typeof(Resolver))]
    public class myExtenderClassResolver : ObjectExtender
    {
    public myExtenderClassResolver() { }
    
    [Category("Extender Settings"), Description("An XPATH on the incoming message."), DisplayName("Message ID XPATH"), ReadOnly(false)]
    //DefaultValue(" Specify a DEFAULT value here if you want")]
    public string MessageIdXPATH { get; set; }
    }
    
    //-----------------------------------------------
    [ResolverExtensionProvider, ExtensionProvider("F172878A-358A-4b55-9BBB-DAD795BD630B", "MessageXPath", "My Resolver Component Extension", typeof(ItineraryDslDomainModel))]
    public class StaticResolverExtensionProvider : ExtensionProviderBase
    {
    public StaticResolverExtensionProvider()
    : base(new Type[] { typeof(myExtenderClassResolver) })
    {
    }
    }
    
    }
    

    Note: The above code is primarily to display the resolver inside our Visual Studio UI when designing an itinerary. I decided to call it myComponent  (using an attribute tag).

    I’ve declared a single property in the above code called MessageIdXPATH. The implementation of this property should be done in a separate class that inherits from Microsoft.Practices.ESB.Resolver.IResolverProvider. The implementing class would extract value from this property:

    ResolverMgr.GetConfigValue(facts, false, "MessageIdXPATH");
    

    Note again: The primary objective of the above class was to display this property in the Visual Studio UI

  2. Build the above assembly in Visual Studio (extender class), GAC it and place it under
    Location:  …\{ Microsoft BizTalk ESB Toolkit 2.x}\Tools\Itinerary Designer\Lib\

Verification

  1. In the itinerary designer, drag and drop the “Itinerary Service” component to the toolbox
  2. Once a resolver is created, select the created component  (Resolver Implementation) using properties window
  3. After selecting the component (MessageXPath), a property is listed in the designer (called MessageIdXPATH)

Happy designing 🙂

Read Full Post »

I’ve a 64bit machine that has a web-service hosted under IIS6!. This starts throwing out errors one morning as I browse to my .svc location – “Page not found 404 Error

 Solution:

  1. Check that the isapi.dll is pointing to v2.0
    C:\WINDOWS\microsoft.net\Framework\v2.0.50727\It appears that an overnight .NET 4 installation was pushed out and IIS 6 extensions were mapped to .NET v4. To resolve this, I manually changed the .svc extension in IIS 6 to v2.0+.
    Screen shot of my machine (under IIS –> Default Web Site –> MySite.WCF)  before I made the change
    After the change:
    Now pointing to : C:\WINDOWS\microsoft.net\Framework\v2.0.50727\aspnet_isapi.dll

    Make sure to restart IIS

    Optional
    :
  2. Make sure your IIS service account has access to the C:\windows\temp folder. Your WCF service generates temporary files behind the scene and skipping this might display errors such as: System.InvalidOperationException: Unable to generate a temporary class
  3. From your command prompt run the following command
    aspnet_regiis.exe -i –enable     
  4. Then (command prompt again),
                   cd C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation
                   ServiceModelReg.exe -i
  5. If it still doesn’t solve it, follow this MSDN article
    Location: http://msdn.microsoft.com/en-us/library/ms752252(VS.90).aspx
    Happy setting up 🙂

Read Full Post »

Here is a handy command to clear all tables on your (local) database.

  1. Select the Database in SQL Server Management Studio, and hit New Query
  2. Run the following command
EXEC sp_MSforeachtable @command1 = "DROP TABLE ?"

That is good for dropping all tables. Most of the time, you’d like to delete all table data. Also, to overcome tables associations on constraints/keys, etc. Use the following in this case:

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'DELETE FROM ?'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'

Note: You cannot use  TRUNCATE with above syntax!

Happy coding 🙂

Read Full Post »

Guid.NewGuid is always unique. MSDN describes it as containing several sections for a given number – like the timestamp, clock sequence and node. As the example, generating the GUID 8743428c-ef914d059e7c4a2e856e813a
consists of the following sections:


8743428c– Low field of the timestamp
ef91 – Middle field of the timestamp
4d05 – High field of the timestamp with multiplexed version number
9e – High field of the clock sequence with multiplexed variant type
7c – Low field of the clock sequence
4a2e856e813a – Spatially unique node identifier

For more info: Click here

Just for info 🙂

Read Full Post »

 

This happened because I was trying to write to the context of the incoming message in my pipeline. Although I built my solution and deployed it, the compiler would skip over the line where I was setting the context.

context.Write(propertyName,propertyNamespace, propertyValue);

Solution (Maybe!):

  • Right click on the project, and hit Clean
  • Gac your assembly and restart

I guess this happened because the compiler had gone crazy after so many BizTalk restarts and assembly GACs. Thought about putting a short note on this incase someone might be trying to find out about it.

Happy building 🙂

Read Full Post »

Older Posts »