Skip to main content

Posts

Showing posts with the label BizTalk

BizTalk WCF : BizTalk System.ServiceModel.AddressAccessDeniedException

BizTalk System.ServiceModel.AddressAccessDeniedException You configure a self-hosted service at a BizTalk receive location using a localhost address, and when you try to enable the service (receive location) you get the above error with the details 'HTTP could not register URL http://+:80/Service.CreateService.FirstService.v1/. Your process does not have access rights to this namespace' I was getting above error when trying to Enable WCF receive location. To overcome this issue, you need to Solution 1. Open the Visual studio command prompt (using the run as administrator option) 2. Type in the command netsh http add urlacl url=http://+:80/<the rest of the address that comes after localhost/> user=DOMAIN\username (So, if your full address ishttp://localhost/company.bookings.carbookingservice, you type inhttp://+:80/company.bookings.carbookingservice) User Name should be same under which your host is running. 3. Enter to run the command 4.  res...

Orchestration :The xpath expression selected a node which is not valid for property or distinguished field retrieval

Error : Orchestration :The xpath expression selected a node which is not valid for property or distinguished field retrieval Solution: I got above error while setting message attribute value in orchestration using Xpath: I was assigning value to response message attribute after the executing Map. the Map was not creating any node for that attribute and when I was trying to set values in orchestration it was throwing error. 1. Check if the transform is producing the node during the runtime. Please also test the field value by writing the map's output to event log 2. Make sure your Xpath is valid. You may use xpath tester tool to test xpath configured is correct. 

BizTalk Map incoming Message to Single Output field - XSLT template

BizTalk Transformation : Map Incoming XML Message  to Single output field as string To map incoming message to single out field, we will use xstl template in map. 1. Drag and drop Custom Scripting Functoid on your Map 2.Select  Inline XSLT Call Template. 3. Copy and Paste the following xslt code in "Inline Script" Section < xsl:template name = "called-template" > < xsl:param name = "param1" /> < xsl:element name = "DestinationField" namespace = "http://myschema.namespace.com/" > < xsl:text disable-output-escaping = "yes" >&lt;![CDATA[</xsl:text> < xsl:call-template name = "identity" /> < xsl:text disable-output-escaping = "yes" >]]&gt;</xsl:text> </ xsl:element > </ xsl:template > <xsl:template name="identity" match="@*|node()"> <xsl:copy> <xsl:apply-templ...

Optimizing Pipeline Performance - Biztalk Pipeline

Optimizing Pipeline Performance - Biztalk Pipeline A really helpful artical on improving BizTalk Pipeline component performance http://msdn.microsoft.com/en-us/library/ee377071(v=bts.70).aspx What to use inside the pipelne component  Should we use XMLDocument or XMLReader in the pipeline component. working with Virtual Stream. Using AddResourceTracker  pContext.ResourceTracker.AddResource(messageData); http://msdn.microsoft.com/en-us/library/ee377071(v=bts.70).aspx

Overriding ConnectionString in Machine.config with web.config ConnectionString.

Overriding ConnectionString in Machine.config with web.config connectionstring. If I have following connectionstring in my machine.config  (Machine level value) <connectionStrings>                  <add name="TestConfigConnection" connectionString="DATA SOURCE=machineCon;PERSIST SECURITY INFO=True;USER ID=usr;PASSWORD=pwd" />  </connectionStrings> Now for specific web application I want a different connection string value then we need to override the value in machine.config. So we  need to add the required connectionstring value in web.config <connectionStrings>                  <add name="TestConfigConnection" connectionString="DATA SOURCE=webCon;PERSIST SECURITY INFO=True;USER ID=usr;PASSWORD=pwd" />  </connectionStrings> But with this, it ...

Why can't we have send and receive within an atomic scope

Why can't we have send and receive within an atomic scope? The atomic scope was designed to handle Atomicity, Consistency, Isolation, and Durability (ACID) compliant operations that must either all succeed or all fail as a group. This is a classic database transaction style. It is designed to carry an orchestration from one stable state to another. This is why you cannot both send and receive from an atomic scope, because by design the message box is not a lockable resource . To accomplish this atomicity, the orchestration engine persists the entire orchestration state to the message box before the atomic scope begins; it subsequently persists the orchestration again when the atomic scope completes.

BizTalk : Defining multiple database ReceiveLocation with same db connection string

BizTalk : Defining multiple database ReceiveLocation with same db connection string BizTalk does not allow us to create the   multiple receive location with Same URI, At design time it validate the URI and if it matches with any receive location then it throw Validation error. But there may be some requirement where we might need multiple receive location with same URI like multiple database receive location with same database URI and each polling to different set of data (different stored procedure/package.) So for this requirement, we can implement the multiple receive location with different pollingid. So at design/run time it won’t throw any validation error as the URI is different. The connectionstring with PollingID really doesn’t make any difference and it won’t create any issue while connecting database. Ex . If I have two receive location polling database ReceiveLocation1    ->    URI   ->    ...

BizTalk Oracle/SQL execution error on ReceiveLocation : Action http://Microsoft.LobServices.OracleDB

BizTalk Oracle/SQL execution error on ReceiveLocation When we try to call SQL/Oracle StoredProcedure/package from the ReceiveLocation with Default PollingAction generated then it might give error as   we need to add “Polling” in the name of package or stored procedure. The Messaging Engine failed to add a receive location "Zim.EAI.Framework.RL_ReTestGet" with URL "oracledb://goDEV1/?PolllingID=1111" to the adapter "WCF-Custom". Reason: "System.NotSupportedException: Action "http://Microsoft.LobServices.OracleDB/2007/03/EBT/Package/BL_GO_PCK/GETDATA_XML" is invalid.    at Microsoft.Adapters.OracleDB.OracleDBInboundContract..ctor(OracleDBConnection connection, IOracleCommonUDTHelper oracleUdtHelper, MetadataLookup metadataLookup) Auto Generated Action : http://Microsoft.LobServices.OracleDB/2007/03/EBT/Package/BL_GO_PCK/GETDATA_XML http://Microsoft.LobServices.OracleDB/2007/03/EBT/Procedure/B...

Creating & Configuring Application pool for Website/WCF service in IIS

Creating & Configuring a new Application pool for Website/WCF service in IIS    1. Create and Deploy your web application/WCf service to IIS.    2.   Click “Application Pools” à right Click mouse, select “Add Application Pool”    3. Type the name of Application pool, Select the required framework version and Managed Pipeline Mode. Click OK. This will create a new application pool.   4. For performance and timeout related setting, please go to “Advance Setting” option of Application pool. It’s recommended to update advance setting of application pool carefully. As there are many setting which can affect performance of your application.  5. Once you create the application pool as per your requirement. Then go to WCF/Web Application which need to be configured to run under this application pool. 6.   Go to “Manage Application” à “Advance setting” 7. Go to “Application Pool”. Cli...

WCF throttling (Resource Utilization/ Load Balance) configuration

WCF throttling (Resource Utilization/ Load Balance) : Limit how many instances or sessions are created at the application level for better utilization of resource and memory. Resource Utilization : With the implementation of throttling, we can properly utilize the available resource like Memory, threads. Each resource could be managed at its reasonable limit to avoid very high utilization of any specific resource. Load Balance :   Application should work under   balanced load. If we execute anything concurrently then there could lot of performance and load balancing related problem will occur. WCF throttling allow us to manage our resource utilization and balancing the load as per our processor/RAM availability. We have   following three property which allow us to control WCF service behavior:       WCF throttling                   -WCF b...