How to Improve PC opening - Get Your PC operative during Lightning Speed

Windows 7 architecture FAIL by Nonapeptide

With all of the PC's that are in use world wide, it is no wonder that the market for software that repairs software errors is so popular. In fact, there are hundreds of software products that are advertised for registry repair, but how do you find the best registry cleaner reviews? Can you trust the reviews that you do find? The answer is yes, but keep the following tips in mind.

If you are going to spend your hard-earned buck, you want the best registry cleaner. Reviews have traditionally been the way to pick the best product for your needs, but many of them are biased and are not true, head-to-head comparisons. Sometimes the reviews are sponsored by the companies that make the software! Beware of those types of sites, they are not objective.

A good review for PC software tests the products thoroughly, pitting them head-to-head with multiple identical computers. Most reviewers don't go to this kind of trouble, and rely on subjective impressions. You really want to judge the software's performance, ease of use and support in an objective manner. Support and warranty are also very important - choose a product that offers full support, and has a money-back guarantee.

When searching for the best registry cleaner reviews, look for a reviewer who has taken the time to evaluate each software product objectively, in headlong comparison. Make sure they have tested each title the same way, on the same PC setup. This is the only way to insure a true objective result. You'll end up more satisfied with a better product.

Looking for the the best registry cleaner reviews? Don't waste time on registry cleaners that don't work! We tested the best - read our reviews.

 

Do not also forget to checked opposite reviews on a product; and to serve get upright views about the manufactured article, will be the good idea to examine a little forums or blogs for genuine as well as real opinions.Source:http://ezinearticles.com/?Fix-Ntldr-is-Missing-Error-With-a-Registry-Cleaner&id=3020190

Add comment  Tagged:  , , , มกราคม 31, 2010

Fix Vista & Windows 7 dark shade of Death blunder (BSOD) together with Black Screen Fix

Most of us possess come opposite Windows BSOD (depressed screen of genocide) infamous underline of Windows XP & perspective. Windows 7 might be quite fast as well as doesn’t pile-up with BSOD but Microsoft has not completely obtain rid of BSODs. Windows 7 can additionally be affected by dark Screens of genocide which just solidify up the computers forcing users to stare during zero more than the blank, dark desktop.

fix blue screen of death
To repair dark shade of genocide of Windows 7 Prevx’s David Kennerley has grown a good app “dark shade repair” to fix a vast majority of issues which cause Black Screens.
dark shade repair Pervex

The base cause of a ultimate wave of dark Screens of Death has been identified as the modification cutting-edge the Windows Operating Systems close down of records office keys. It appears which a updates released this month by Microsoft cause sure registry keys to exist invalidated, a pierce which, cutting-edge the turn generated Black Screen of Death errors.
doubt you have been facing Windows 7 Black Screen of genocide then download Black shade Fix as well as run information technology upon your complement. fix registry errors A reboot is compulsory afterwards you outing this application.Source:http://www.articlesbase.com/operating-systems-articles/stop-0×0000005c-error-fixstop-0×0000005c-error-repair-1247442.html

Add comment  Tagged:  , , , , , มกราคม 31, 2010

Runtime blunder - as is the Runtime Error as well as How to repair It?

Runtime Error, 5/17/08, Brooklyn, NY by richardgin.org

Introduction
This is part 15 of my series, Basics of PHP. In this part of the series, we look at the basics of errors.

Note: If you cannot see the code or if you think anything is missing (broken link, image absent), just contact me at forchatrans@yahoo.com. That is, contact me for the slightest problem you have about what you are reading.

Programming Errors
There are three types of programming errors. In other words, there are three types of errors that can occur in a program. You have Syntax Errors, Logic Errors and Runtime Errors.

Syntax Errors
This is the wrong use of syntax. These errors are wrong statements. When you type a statement, which is wrong, that is a syntax error. Such a statement cannot be executed. For example, in a statement you can type a variable without the $ sign. Under this condition, your program does not work. Depending on how you configure your PHP installation, such an error might be indicated by PHP to the output device just before the program is to be executed, when you give a command to run the program. With a syntax error, the program is not executed. Before PHP code is executed, there is some minimum compilation that takes place. Syntax errors would be spotted by the PHP compiler and reported, and execution (interpretation) of the program will not take place.

Logic Errors
In this case, PHP interpreter understands your program very well and it executes the program. However, the program will not do what you wanted it to do. It will do something slightly different or completely different. The fault is yours. For example, a loop that is required to do 10 iterations might do 5 iterations, because you coded it mistakenly to do 5 iterations. Another example is that a loop might iterate infinitely, because the condition you gave for the loop is wrong. Logic Errors occur when the program is being executed (interpreted). The only way to solve this problem is to test your program very well before you hand it to the customer (who asked for it).

Runtime Errors
Runtime errors occur when the program is being executed as a result of the fact that you did not take certain factor into consideration when coding. For example, let us say your code is to divide 8 by some denominator that the user inputs. If the user inputs 2, the division will work, giving you 4 as answer. If the user inputs zero, the division will not work, because 8/0 is undefined. When a runtime error occurs your program normally crashes (and stop). To solve runtime errors, you have to write code that will prevent the execution of the particular code segment from taking place. In this division example, you have to write code that will prevent division by zero from taking place, and possibly informing the user of the mistake he made by inputting zero as a denominator.

Preventing Runtime Errors
Runtime errors are prevented using what is called try-catch blocks. We shall use the example of dividing 8 by a denominator to illustrate this. Consider the following code:

Try the above code. You should have 4 as the answer, displayed. Now change the value of the $input variable at the beginning of the code to 0. You should have the text, “Error: Division by zero is not allowed.” displayed.

The code divides 8 by the value of the $input variable. When the value of the $input variable is not zero, everything is fine. When the value is zero, that is an error, and so the program should not crash. Code has to be written to prevent the program from crashing.

There are four things you should note about the code above. There is the try-block; there is the catch-block; there is an object created from a class called Exception; and there is a statement called the throw statement around the beginning of the try block.

The try-block begins with the reserved word, try, then you have the pair of curly braces. The statements for the try block are in the curly braces. The catch-block begins with the reserved word, catch. It has parentheses with a parameter. The parameter is a variable, preceded by the variable type (we have not seen this variable type before). The catch-block has a pair of curly braces. The statements for the catch block go into the curly braces.

The very first statement in the try-block is an if-statement combined with what is called the throw statement? The idea is that you check if the $input variable is zero. If it is zero, then the throw statement is executed to prevent crash. When the throw statement is executed, we say an exception is thrown. When an exception is thrown, the statements below the throw statement in the try block are not executed; while the statements in the catch-block must be executed; that is, when an error occurs, the statements below the throw statement in the try-block are not executed, while the catch-block must be executed to handle the problem. If no error occurs (in this case, input is not zero), then an exception will not be thrown. If an exception is not thrown, the statements below the throw statements in the try-block are executed, and the catch-block is not executed.

The try-block has the normal statements to be executed to solve task required by the program. These statements are executed on condition that no error has occurred. The catch block has the statements to be executed if an error occurs. Usually what the catch block does is that it simply informs the user that an error has occurred with a brief description of the error. If the error is detected in the try block and the catch block is executed as in the above code, then the program will not crash. I repeat, usually, the catch-block does not do much more than display a brief error message to the user. Prevention of crash is as a result of the fact that the normal statements in the try block are not executed and the catch-block is executed.

Introduction to the Exception Class
There is a class called the Exception class. This class has a good number of members and methods. For this basic tutorial we shall talk about just one of its members. The member holds the error message you want to give to the user. You, the programmer, are the one who decides on the error message. You feed in the error message when you create an object from the class. You create an object at the same time that you are throwing the exception. In the above code, we have,

throw new Exception('Division by zero is not allowed.')

Here, the reserved word, throw, is to throw the exception. The exception is an object, which can have the error message and other things. In this tutorial, we consider only the error message. To create an exception object, we begin with the operator, new. This is followed, by the name of the class, Exception; then parentheses. In the parentheses, you type the error message in quotes. The Exception class has a constructor method that assigns this error message as value to one of its members (one of its variables). This exception object is thrown to be caught be a catch-block. So the if-statement detects the error, throws an exception object, which knows the error and the catch-block catches the exception object. The catch-block uses information in the exception object to complete the error handling.

The catch-block
The catch is like a function. It has parentheses, which has a parameter. The parameter is the variable for an exception object. You choose whatever name you want for the variable, and precede it with the $ sign. You precede the variable with the word, Exception. This means the type of variable is an exception. The throw-statement is like a call to the catch-block.

In the above code, we have the echo statement. The echo construct takes a comma-separated list of arguments. In this case, the first argument is the string “Error: “. This string will be displayed first at the browser. This string indicates to the user that there is an error. The description of the error follows from the next argument. This next argument to the echo construct is a return value of a method of the exception object. What we have exactly is:

$e->getMessage()

$e is the catch parameter variable, which is the object caught that was thrown. getMessage() is the method to return the error message that we typed when creating the object. This is the only exception class method we consider in this tutorial.

Some Comments
There is an old way of dealing with runtime errors in PHP; I will not discuss that. There are also predefined exceptions; I will also not discuss that for this basic tutorial. What I have given you in this tutorial is enough to get you going in PHP programming.

The NULL Value
This section is not really dealing with errors, but is sometimes associated with errors. The reserved word, NULL, whose letters can be in any case (upper or lower) can be assigned to a variable, like in,

$someVar = null;

When a variable is declared without any value assigned to it, the variable is considered as NULL.

Let us stop here and continue in the next part of the series.

Chrys

If the software update doesn't , you may possess issues with a memory on your computer. Fixing which caring of problem might receipts contacting the builder of a memory and presumably even a builder of your PC.Source: http://www.articlesbase.com/operating-systems-articles/fix-stop-0×24-errorstop-0×24-error-repair-1457311.html

Add comment  Tagged:  , , , มกราคม 30, 2010

How To Solve blunder “Outlook Can't Find PST” in MS Outlook

South Saskatchewan River - Outlook, Saskatchewan by Rob Huntley

User Name
     
Password

Remember Me?

Recently I tried to Sync my Outlook 2007 Contacts with iPhone through iTunes and got this error:

It took me about 3 hours to get rid of this. These are possible fixes for the problem, please don’t ask me if they don’t work for you because only one worked for me and these are all I found (may be one works for you):

Fix 1

First, disconnect iPhone from your PC and uninstall iTunes.

Tools>Trust Center > Add-Ins. In Manage, Select COM Add-ins and click Go

Select iTunes Outlook Addin and click Remove

Install iTunes again

Now try syncing.

Fix 2:

Try Resetting Sync History in iTunes, goto Edit>Prefrences>iPhone>Reset Sync History>Reset Sync History.
Goto the Info tab in iTunes> sync only calendars> advanced replace calendars on the iPhone, This will replace the calendars on the iPhone with calendars from the computer

Fix 3:

Download and run this Macro http://support.microsoft.com/kb/201089

To permit this macro to run, you may have to adjust the security level setting in Outlook and Word. Follow these steps to verify or change your setting in Outlook and Word:

  1. On the Tools menu, point to Macro, and then click Security.
  2. On the Security Level tab, click either Medium, to allow you to choose whether to run macros or not, or Low, to allow all macros to run without a warning.
  3. Click OK.

When you open the document in Office 2007 make sure outlook is running, click on Options and you will see this window…click Enable this content and click ok.

 

Now in New field, you may find this text “IPM.Contact.”, replace it with “IPM.Contact” and click Process Items.

Fix 4

Install the Outlook Connector for Office 2010, sometimes it works fine if you are using Windows Live Calendar.

  • Outlook Connector for Office 2010 (x86)
  • Outlook Connector for Office 2010 (x64)

…Please do share if anything else worked for you to fix this.

Recently I tried to Sync my Outlook 2007 Contacts with iPhone through iTunes and got this error:

It took me about 3 hours to get rid of this. These are possible fixes for the problem, please don’t ask me if they don’t work for you because only one worked for me and these are all I found (may be one works for you):

Fix 1

First, disconnect iPhone from your PC and uninstall iTunes.

Tools>Trust Center > Add-Ins. In Manage, Select COM Add-ins and click Go

Select iTunes Outlook Addin and click Remove

Install iTunes again

Now try syncing.

Fix 2:

Try Resetting Sync History in iTunes, goto Edit>Prefrences>iPhone>Reset Sync History>Reset Sync History.
Goto the Info tab in iTunes> sync only calendars> advanced replace calendars on the iPhone, This will replace the calendars on the iPhone with calendars from the computer

Fix 3:

Download and run this Macro http://support.microsoft.com/kb/201089

To permit this macro to run, you may have to adjust the security level setting in Outlook and Word. Follow these steps to verify or change your setting in Outlook and Word:

  1. On the Tools menu, point to Macro, and then click Security.
  2. On the Security Level tab, click either Medium, to allow you to choose whether to run macros or not, or Low, to allow all macros to run without a warning.
  3. Click OK.

When you open the document in Office 2007 make sure outlook is running, click on Options and you will see this window…click Enable this content and click ok.

 

Now in New field, you may find this text “IPM.Contact.”, replace it with “IPM.Contact” and click Process Items.

Fix 4

Install the Outlook Connector for Office 2010, sometimes it works fine if you are using Windows Live Calendar.

  • Outlook Connector for Office 2010 (x86)
  • Outlook Connector for Office 2010 (x64)

…Please do share if anything else worked for you to fix this.

Source:http://www.articlesbase.com/operating-systems-articles/stop-c0000221-unknown-hard-error-fix-1629202.html

Add comment  Tagged:  , , , , , , , , มกราคม 29, 2010

Runtime Error - as is a Runtime Error and How to Fix It?


Add comment  Tagged:  , , , มกราคม 29, 2010

in what way to halt the Blue shade of genocide - the Trick That Will Stop This blunder For great

Windows 7 Party Signature Edition  (16) by Shane's Flying Disc Show

In the summer of 1925, a seething volcano finally erupted in the prosecution of general science teacher John Scopes for teaching evolution in Dayton, Tennessee. The teaching of evolution had recently been banned in 15 states, and opponents of evolution brought Mr. Scopes to task. Ever since Darwin published his theories in his book Origin of the Species, there has been fierce debate over its validity (although Darwin did not see a conflict between religion and his theory). At the crux of the issue is whether or not the version of creation propounded by some people of the Christian faith and purportedly propounded by the Bible (or at least some kind of intelligent designer directing the processes of life creation) is literally correct, or whether evolution is a more complete and accurate version of how human beings came into existence. Opinions on evolution have even been voiced in music. Merle Travis recorded That's All in 1947, where he states, “If you believe that monkey tale, like some folks do, I'd rather be that monkey than you.”  The latest chapter in this struggle is the attempt to integrate the intelligent design (ID) theory into school curriculums.

It is best in this case, to allow the supporters of intelligent design to speak for themselves in defining ID. For this purpose, a quote from the Intelligent Design Network, is provided below:

“The theory of intelligent design(ID) holds that certain features of the universe and of living things are best explained by an intelligent cause rather than an undirected process such as natural selection. ID is thus a scientific disagreement with the core claim of evolutionary theory that the apparent design of living systems is an illusion.”
http://www.intelligentdesignnetwork.org/

It certainly does not sound too bad, but does ID answer any questions? Certainly, if something is not explainable it's easy enough to attribute its existence to an undefined and etherial 'creator'. However, if the theory cannot define and quantify this intelligent designer in scientific terms, it cannot rightly be considered science. To be certain, it is unlikely that the possibility of some sort of demiurge or directing consciousness for the universe can ever be completely disproved by science to everyone's satisfaction, it is equally unlikely that science benefits by invoking such an unknowable quantity to explain how life came into being.

Even more, the presentation of intelligent design as a scientific theory could well be more damaging to its religious proponents than it is helpful. Religion and science need not be juxtaposed, but the intelligent design theory claims a reliance on objective evidence that could never prove a being that is, by definition, indefinable. As much design as could be shown can easily be attributed to happy accidents among hundreds of thousands of failed evolutionary dead ends. The argument from that aspect is not good for a perfect designer when there has been as much failure as success in the designs. Case in point-the dinosaurs, an entire family of large creatures wiped from the face of the Earth. What sort of competent creator would create creatures destined to fail? At least one with a trial-and-error outlook on the creation of life. It could be supposed this would be entirely an unsatisfactory for those who propose man was created by an infallible and omniscient being. This argues better for a Deistic entity that creates the universe then leaves it to run itself (perhaps even hoping for the best).

Another difficulty encountered in the intelligent design as a support for a religious ideal is the fact that religion has been historically wrong when it comes to defining the world objectively. The Earth is not flat, and the sun does not rotate around it. There are no gods on the peak of Mount Olympus, nor is there evidence that there ever was a significant settlement of gods there. The world is held up by neither Atlas nor a tall stack of gargantuan turtles. Granted, science itself has been known to seek out avenues that ended in ludicrous and erronious results, but science has a way of abandoning mistaken paths with less rigidity than religion does. Many of the stories in religion are intended purely as parables, and have a different kind of value than can be found in objective science. When the attempt is made to apply objectivity to these lessons, it dampens and weakens them even to the point of making them entirely useless.

Science, too, has been ineffectual in disproving the possibility of a creator when interested in delving into that path of inquiry despite eliminating some of the dogmas verifiable by objective evidence. As Einstein wrote, “For science can only ascertain what is, and outside of its domain value judgements of all kinds are necessary. Religion, on the other hand, deals only with evaluations of human thought and action: it cannot justifiably speak of facts and relationships between facts.” While it is likely that there are sincere proponents and scientists in favor of the ID theory, it remains difficult to see what exactly ID could teach us about what is. It's entirely possible to believe that an intelligence used an evolutionary process to create mankind, but that might seem depricating to some who want to feel a special and direct connection with a diety. The friction between science and religion is age-old, although not always as obvious is why they must necessarily clash. Perhaps a much-revered man may have some input into this debate when he says, “The truth shall set you free.” Perhaps Jesus meant by this the truth arrived at objectively as well as subjectively when he said this.

Errors and hurtful files cutting-edge your records office compromise the firmness of your complement. disaster to windows xp registry cleaner results in complement freezes as well as complement crashes, rendering your PC meaningless. Save yourself a revenue as well as the worry of removing the brand new computer by you do a records office cleanup currently.

Add comment  Tagged:  , , มกราคม 28, 2010

forestall mechanism Crashes as well as strengthen Your personal property as well as temperament

Mac Porn by icopythat

It is almost an established fact that some of the problems with the computer system are caused by a corrupt Windows registry. Some of those problems are seen as system crashes, freezes, application error and slowness of the computer system. In former times, PC users thought that only PC gurus can handle such problems. But that has been proved wrong as anybody can simply get effective registry fix software and resolve the issue in a very short time. However, most people seem to be overwhelmed with the numerous programs out there and therefore do not know how to identify the best program for their PCs.

You really do not need to be a computer expert to fix issues related to the registry of your PC; if you can read, then you can use a registry repair program to fix your PC and get it back to a full functioning capacity. The good thing is that most of the programs have been created with easy-to-use interface so that even a new PC user can successfully use the program. As soon as you download, install and launch the program, just follow the prompting of the program to achieve the scanning and subsequent cleaning of your PC.

In identifying the best registry fix for your system, you need to check some of the features such as compatibility with your Windows operating system, whether or not the program offers backup feature and if the program is simple to use or will rather present you with a complex interface. If your verification of these basic features is positive, you may consider using such program.

A registry fix software functions to root out the core computer problems that are causing the system to under-perform. The registry of your computer system is part of the operating system and keeps track of vital information about the activities that goes on within your PC such as installation. Such information is stored for the purpose of referencing. Some of the values written in this database of your computer system are useful to some applications in their normal operation.

In all, the best registry fix program is the one that can accurately detect all errors on your PC system and safely remove them without causing further harm to the computer.

Alright, I have owned GTA 4 for about a month now and have succesfully played and beaten it twice now with out running into any issues. Today, when i try to open the game, i get an error message stating the following: application failed to launch. The application you are attempting to launch failed to start. This could be the result of it being blocked by windows Parental Controls/Family Safety. Please make sure you have access to the application before trying to launch it, or contact support at www.RockstarBool#@$#.com. This error doesn't make any sense, because I am running on an admin account the only account my computer. I am an adult, and i havent received this error message before until today. I disabled UAC to see if that had anything to do with it. I have no idea why this is happening. Naturually there is no solution that I could find through google or youtube, Rockstar website is no help either. Does anyone have a solution to this? I am about ready to just throw these stupid disks in the fire place and call it quits.

You should also perform surety measures to equivocate you do a . Cleaning your computer mind help you in preventing your mechanism from further repairs.Source:http://www.articlesbase.com/operating-systems-articles/fix-runtime-error-4198-with-registry-cleaner-1418993.html

Add comment  Tagged:  , , มกราคม 25, 2010

If we Suffer From Slow mechanism opening Here is in what way You Can repair information technology in mins

Windows XP ??? by fran_hi

Someone who owns a computer and has basic knowledge of the operating system should know what a registry and its function is, but a new computer user might not. To put it simply, it contains the information for the operating system, where the hardware is located, and settings for programs and applications on the computer system. Basically, it is information used to configure the computer. If the registry is corrupted due to viruses, and misconfiguration, then it might slow down the computer or even crash it.

Unfortunately, this type of event, where the registry is messed up, can often happen to new users who are unaware of the system's current operating conditions and has little to no technical knowledge. One very important solution to fix the corruption of the registry is a registry cleaner. A registry cleaner is important to cleaning up the registry from errors and sometimes it can even help in removing viruses. Although it can be used for removing viruses, it should not be the only program dedicated to it.

When you go online and search for a registry cleaner, you will find that there are many registry cleaners to choose from for your computer. These registry cleaners will have different feature set, but the main important feature to look out for is the feature to back up the whole registry and the feature of restoring the registry. In case the cleaner have problems cleaning up the registry and might do more damage to the system, you have the the back up copy saved beforehand and ready to be restored.

Another feature to look for in registry cleaners is the ability to distinguish information from registry that belongs to the appropriate programs installed on the computer. A good registry cleaner should not inappropriately delete information from the system, which might cause some more problems. The job of the registry cleaner is to make your computer little bit faster, not slower.

Also, a registry cleaner should be able to defragment the registry. Defragmenting the registry will optimize the registry. What this means is it will make the size of your registry smaller without deleting information in the registry. Therefore, making your computer faster. Other things that the cleaner will do is remove invalid data from uninstalled programs because uninstalled programs tend to leave tiny bits of information behind. Another feature that is useful is a scheduler. It is useful because while you are away from the computer, the registry cleaner will run itself to scan your computer and be done when you are back.

Using a registry cleaner is not enough for keeping the computer in a healthy shape. It should be used with other programs such as a defragmenter for the hard disks of the computer and anti-spyware, so your computer stays reliable, fast and clean without having to worry about the computer a lot. It is recommended that when you are a new computer user working on registry errors, you should not do it by yourself because you might get confused and end up with more problems than you currently have. In the end, using a registry cleaner will save you money because you do not have to send it in to computer repair shops to get your computer working as it should.

Do not also forget to check opposite reviews on a manufactured article; and to further obtain upright views approximately a product, Fix a Slow Computer with a Rated Registry Cleaner will be a good thought to investigate some forums or blogs for genuine as well as real opinions.

Add comment  Tagged:  , , , มกราคม 25, 2010

obtain absolved of the slow running computer with tip rated windows records office cleaner

Microsoft Visual C++ Runtime Library by MarkZeSpark

Hi Folks,

I recently had to build a dispatching system, where a message would be received from our web service. The message would then be saved to the database with:

Stage: IMPORT and Status: SUCCESS

A standard BizTalk SQL Receive location would pull the messages and change the message in the SQL table to:

Stage: BizTalk and Status: Processing

Envelopes and De-batching

The above pull is done in batch mode, this means, that SQL will pull a batch of records and use the FOR XML clause. However when the message is built in SQL, there is NO root node. However the SQL adapter can inject one, see image below on how it does it:

Now the messages are DEBATCHED by using an ENEVELOPE schema which will recognise the xml data, how is this enforced? The Receive pipeline on the SQL adapter is set to: XMLReceive.

There is allot of information out there regarding DEBATCHING and using envelopes. However, when you create a XSD to represent the xml data, just remember to ensure the property for an ENVELOPE is set:

This property is found on the Schema Design in Visual Studio.

So, now the messages are de-batched into the BizTalk message box.

An orchestration will have a DIRECT receive port with a filter that subscribes to this type of debatched record. So if the schema for the batch was BATCHRecords.xsd containing a collection of Records.xsd schema, then the orchestration will subscribe to the schema type of Records.xsd. I always define the individual record schema first and then define the batchrecord schema, then in the batch schema I just IMPORT the individual record schema.

Ok, we getting diverted, but understanding envelopes is crucial in BizTalk when pulling data from SQL.

Orchestration

Now that the message is in the orchestration we need to have the following goals in mind:

  • If the message succeeds, a part of the message needs to be extracted using Xpath and saved to the SQL database, by calling a stored procedure with parameters that accept a Xml document and other variables. The stage and status is then set to END, SUCCESS
  • The default SQL adapter cannot do this very well, so I have a custom SQL adapter to do it, you can read up about it here:

    Romiko-Custom SQL Adapter

  • If the message fails, then the original message is sent to SQL and Stage and Status is set to END, FAILED.
  • If message fails being dispatched to an external SOAP or SFTP destination then the orchestration must handle the delivery failure and MUST NOT suspend the SFTP or SOAP send port, since the message is flagged in SQL as failed, so it can always be reset from the database using an interface for help desk.
  • A way to store the ACKNOWLEGEMENT from the SOAP or SFTP so we can define if the delivery failed. The orchestration MUST NOT use an asynchronous way to send to SFTP or SOAP and then carry on executing shapes further down the line.
  • The custom SQL adapter can be asynchronous, since this is in house part, if it fails, we want to be able to resume the port, so the SQL aspect MUST be resumable, else help desk gets no answer and see messages with stage BIZTALK and status PROCESSING.

 

Now, lets dispel some of the gossip out there about delivery notification.

Delivery notification will always give you a NACK or ACK back when a message fails or success respectively when sending to a port. This is done if the port is enable for delivery notification.

Now let me get rid of some incorrect information out there:

  1. You DO NOT need a Long Running/ATOMIC Transaction scope to use Delivery Notification
  2. You CAN use delivery notification on Dynamic Ports :)

I say this, since I see books, a blogs saying that your delivery notification send shape must be in a scope that is set to Long Running or Atomic, not true at all…

So what do you need.

  1. A scope (Transaction = NONE), with the last shape being the send to the SOAP or SFTP port
  2. The SOAP and SFTP port must be setup for delivery notification
  3. The scope must be set to Synchronised
  4. A Delivery Notification Exception handler, A Soap handler (for soap failures) and a SYSTEM.Exception scope (NOT general exception, have no clue why it is default in BizTalk orchestration designer, it is not cool, always use a System.Exception type, then you have access to the Exception ex variable to get the message e.g. Trace.WriteLine(ex.Message)
  5. The ports enabled for delivery notification can be dynamic, however in a message construct, you must set the retry to 0, no point using retries, if you are flagging an external system with a FAIL.

ANY shapes after the send shape IN THE SCOPE will execute asynchronously, so ensure those shapes do not depend on the delivery, perhaps a DEBUG TRACE or something that you like to have for debugging. Another nice thing to have is a global boolean variable that is used to detect if a NACK was sent so you can always check this bool value AFTER the scope where the send shape was in, to ensure a ACK was received to continue processing, else you know it was a NACK and can then safely call the SQL code to send the message to SQL with Failure.

After the exception, is where the above logic for the SQL persistence can be put, also in its own scope, that is not set to synchronise and with no delivery notification, so we can also resume the send port of sql, but never resume SFTP or SOAP.

Below are screen images of the orchestration I used for this.

We subscribe using promotes properties of STAGE and STATUS.

Above we get the message and then detect if it is for SOAP sending or SFTP using some Distinguished fields.

Here is the if expression:

Record.MetaData.Protocol.Type == "SOAP"

Ok, so now lets check out the SFTP and then we will do the SOAP.

First thing to notice is that BizTalk does not support SFTP, however some cool developers have made one, and you can download it here:

Blogical.Shared.Adapters.SFTP:

http://sftpadapter.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=19784

Ok, so here is the control flow:

 

Another thing is that SFTP is Request Model, not Request/Response like SOAP. you will see in the soap branch later that I will extract the response from the soap response message and use that, where as with SFTP, I use the originally request for database storage.

In the message construct we ensure we set the port retry to 0:

Here is the code for the message construct to set SFTP properties dynamically, I used distinguished fields to access the meta data from the message, basically when SQL got the the message it did a join with a control table to find out the destination SFTP location depending on the data pulled :)

//Romiko van de dronker 14/01/2010
// Set Port Properties
Port_Dynamic_OneWay(Microsoft.XLANGs.BaseTypes.Address) = "SFTP://" + Record.MetaData.Protocol.FTPProperties.SSHHost + ":" + Record.MetaData.Protocol.FTPProperties.SSHPort + "/";
// Assign the ProcessSaleslead data to the new output message
ProcessSalesLeadMessage = xpath(Record," /*[local-name()='Record' and namespace-uri()='http://Romiko.Dispatch.Schemas']/*[local-name()='Data' and namespace-uri()='http://Romiko.Dispatch.Schemas']/*[local-name()='ProcessSalesLead' and namespace-uri()='http://www.starstandard.org/STAR/5']");
ProcessSalesLeadMessage(BTS.RetryCount) = 0; // To support NACK from port.
// Set SFTP properties
ProcessSalesLeadMessage(BTS.OutboundTransportType) = "SFTP";
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.host) = Record.MetaData.Protocol.FTPProperties.SSHHost;
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.portno) = System.Int16.Parse(Record.MetaData.Protocol.FTPProperties.SSHPort);
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.user) = Record.MetaData.Protocol.FTPProperties.SSHUser;
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.password) = Record.MetaData.Protocol.FTPProperties.SSHPassword;
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.remotepath) = Record.MetaData.Protocol.FTPProperties.SSHRemotePath;
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.remotefile ) = .Helper.OrchestrationHelper.BuildDateTime(System.DateTime.Now) + "." + Record.MetaData.Protocol.FTPProperties.SSHRemoteFile;
//Connection TimeOut
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.connectionlimit)= System.Int16.Parse(Record.MetaData.Protocol.FTPProperties.SSHConnectionLimit);
//Optional Settings - Not yet supported, as null values can exist, need to build a helper class to not assign nulls, if they null.
//Debug
ProcessSalesLeadMessage(Blogical.Shared.Adapters.Sftp.Schemas.trace) = System.Boolean.Parse(Record.MetaData.Protocol.FTPProperties.SSHDebugTrace);

Ok, now that the message is constructed, all we do is create a scope that is SYNCRHONISED and ensure the SFTP port delivery notification is on:

So above we set Delivery Notification to Transmitted.

Now anything to do with SFTP goes into this scope and NOTHING else.

Notice my exception types, I have a delivery and system.exception:

In the exception, you can set the state to Failed :)

SendSuccess = false;
Stage = "END";
Status = "FAI";
Error = "SFTP Failure, " + e.Message;
System.Diagnostics.Trace.WriteLine("BIZTALK: Throwing a Delivery Notification Error" + e.Message);

After this we then have a condition statement to see if the delivery was a success, if it was it executes the branch of SQL to make it a success else executes the sql to fail the record.

Notice this is a NEW SCOPE: (UPDATE SQL) tranaction = none

why? Well, delivery notification will only work in it's scope, so a new scope is needed for anything new that MUST continue, it can be in a nested scope like ours or in the orchestration default scope, I like it is a nested scope for neatness and control.

if expression is:

SendSuccess == true

If this is the case, I will create a new message type and send the data to SQL, This is done in the last message construct:

//Romiko van de dronker 14/01/2010
OutRecord = Record;
OutRecord(MMIT.Dispatch.Schemas.Stage) = Stage;
OutRecord(MMIT.Dispatch.Schemas.Status) = Status;

 

Also with the CUSTOM SQL adapter, I send this data to the store procedure, note I send XML directly to SQL :)

 

For the SOAP aspect, the same logic applies. However there are some catches.

The URL address set in the orchestration is in this format SOAP://myaddress.com/mypage.asmx.

Now when using a static adapter, this is not a problem, since in the adapter you set the URL to http:// format.

There is no shortcut, you need to make a custom pipeline component to handle this. The adapter will understand the SOAP format, however the pipeline will then do the magic and replace the SOAP with HTTP.

Another thing, you can even set the ASSEMBLY and proxy class for the SOAP adapter dynamically, the message that came into the orchestration has this information, and I set this at runtime :) Another cool feature is I have a SOAP Header and a SOAP body, so my soap proxy has two method parameter, this means that my multipart message MUST match the paramter types of the soap proxy. lets see how this works:

The MULTIPART message looks like this:

For my SOAP proxy method paramters, I use type XmlDocument for both, so my multipart message that I will send to the SOAP adapter is this:

The header uses a schema from:

<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

<UsernameToken>

<Username>string</Username>

<Password>string</Password>

</UsernameToken>

<KeyIdentifier>string</KeyIdentifier>

</Security>

It is a common schema from oasis.

So what we going to do is parse the message body and the header to the SOAP adapter and the proxy will do the rest:

Here is my proxy class code:

using System;
using System.Net;
using System.Web.Services.Protocols;
using System.Xml;
using Romiko.Proxies.MMITGMDSConsumer;
using System.Xml.Serialization;

namespace Romiko.Proxies.Suppliers
{
   
    public partial class MMITConsumer : System.Web.Services.Protocols.SoapHttpClientProtocol
    {

       
        public AcknowledgeSalesLeadType Dispatch(XmlDocument MessagePartBody, XmlDocument MessagePartSOAPHeader)
        {
            try
            {
                System.Diagnostics.Trace.WriteLine("ServiceProxy:Dispatch to " + this.Url);
                System.Diagnostics.Trace.WriteLine("ServiceProxy:Message in is: " + MessagePartBody.OuterXml);
                System.Diagnostics.Trace.WriteLine("ServiceProxy:Header is: " + MessagePartSOAPHeader.OuterXml);

                StarBodToMMIT ws = new StarBodToMMIT();
                XmlSerializer X = new XmlSerializer(typeof(ProcessSalesLeadType), "http://www.starstandard.org/STAR/5");
                ProcessSalesLeadType processSalesLead = (ProcessSalesLeadType)X.Deserialize(new XmlNodeReader(MessagePartBody));

                ws.Url = this.Url;

                XmlSerializer Y= new XmlSerializer(typeof(SecuritySoapHeader), "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
                ws.Security = (SecuritySoapHeader)Y.Deserialize(new XmlNodeReader(MessagePartSOAPHeader));

                AcknowledgeSalesLeadType response = ws.SubmitStarProcessSalesLead(processSalesLead);           
                return response;

            }
            catch (WebException)
            {
                // To use the retry functionality of the send port
                // This exception type includes time outs and service unavailable from the web service.
                throw;
            }
            catch (Exception e)
            {
                throw new Exception("Problems occured in the proxy:" + e + e.InnerException);
            }
        }
    }
}

BizTalk will automatically detect the message parts, and the name they called is resolved to the proxy parameter names, as you can see they the same as the multi-part message :)

 

Ok, so that part was easy. How do you tell the soap adapter to do this dynamically, the magic is in the message construct:

//Romiko van de dronker 15/01/2010

// Assign the ProcessSaleslead data to the new output message
ProcessSalesLeadMessageRequest.MessagePartBody = xpath(DRONKYRecord," /*[local-name()='DRONKYRecord' and namespace-uri()='http://Romiko.DRONKY.Dispatch.Schemas']/*[local-name()='Data' and namespace-uri()='http://Romiko.DRONKY.Dispatch.Schemas']/*[local-name()='ProcessSalesLead' and namespace-uri()='http://www.starstandard.org/STAR/5']");

//Assign SOAP Header to Context
ProcessSalesLeadMessageRequest.MessagePartSOAPHeader = Romiko.DRONKY.Helper.OrchestrationHelper.BuildSoapHeader(DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPHeaderUserName, DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPHeaderPassword);

// Retry Count MUST be 0 for NACK management, also we in a synchronisation scope.
ProcessSalesLeadMessageRequest(BTS.RetryCount) = 0; // To support NACK from port.

// Set Port Properties
Port_Dynamic_SOAP(Microsoft.XLANGs.BaseTypes.Address) = DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPURI;
System.Diagnostics.Trace.WriteLine("URI is: " + DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPURI);

// Set SOAP Proxy assembly
ProcessSalesLeadMessageRequest(SOAP.AssemblyName) = DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPAssemblyName;
ProcessSalesLeadMessageRequest(SOAP.TypeName) = DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPTypeName;
ProcessSalesLeadMessageRequest(SOAP.MethodName) = DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPMethodName;

//Set Misc SOAP settings
ProcessSalesLeadMessageRequest(SOAP.ClientConnectionTimeout) = System.Int32.Parse(DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPClientConnectionTimeOut);
ProcessSalesLeadMessageRequest(SOAP.UseSoap12) = System.Boolean.Parse(DRONKYRecord.MetaData.Protocol.SOAPProperties.SOAPUseSoap12);

You can see above, I dynamically set the assembly, class and method to call:

Cool!

ok, the magic part I spoke of for the pipeline, i assume you can build them,so here is the code of the execute and the custom method:

First set the logical port properties for the SEND Pipeline (ENCODER)

Ok, here is the partial code of the pipeline:

note the part that replaces SOAP string with HTTP, i do some extra checks, to support HTTPS on default ports 80 and 443 :)

public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
        {
            try
            {
                System.Diagnostics.Trace.WriteLine("Pipeline:Execute entry");

                string address = (string)inmsg.Context.Read("OutboundTransportLocation", "http://schemas.microsoft.com/BizTalk/2003/system-properties");
                string method = (string)inmsg.Context.Read("MethodName", "http://schemas.microsoft.com/BizTalk/2003/soap-properties");

                System.Diagnostics.Trace.WriteLine("Pipeline:Updating context");

                Uri uri = new Uri(address);

                string protocol = "https";

                if (uri.Port == 80 || uri.Port == 8080)
                    protocol = "http";

                //Send over HTTP or HTTPS
                string addr = protocol + "://" + uri.Host + ":" + uri.Port + uri.PathAndQuery;
                System.Diagnostics.Trace.WriteLine("HTTP url is: " + addr);
                //Here is the magic where we can now convert SOAP://…. to HTTP://…. and now we ready for some full contact generic web service proxy calls!

                inmsg.Context.Write("OutboundTransportLocation", "http://schemas.microsoft.com/BizTalk/2003/system-properties", addr);
                inmsg.Context.Write("Operation", "http://schemas.microsoft.com/BizTalk/2003/system-properties", method);

                System.Diagnostics.Trace.WriteLine("Pipeline:End, Number of messages parts: " + inmsg.PartCount);
                System.Diagnostics.Trace.WriteLine("Pipeline:End, Body Part name:" + inmsg.BodyPartName);
                return inmsg;
            }
            finally
            {
                System.Diagnostics.Trace.WriteLine("Pipeline:Execute exit");
            }
        }

 

Well I hope this has shown how powerful orchestration development can be, and in fact you can CONTROL how an orchestration resumes by using scopes to control persistence points, in my case, I want the orchestration to NEVER suspend and always succeed, and handle failures by updating status states in the SQL database for support to handle :)

As soon as I get time, I will work on WCF and other cool features of BizTalk itching to upgrade to BizTalk 2009! Which I am doing right now :)

Good Luck.

Source:http://www.articlesbase.com/operating-systems-articles/fix-svchostexe-application-errorsvchostexe-application-error-repair-1487023.html

Add comment  Tagged:  , , , , , มกราคม 23, 2010

Easily repair Runtime blunder - Microsoft Runtime Error Solution

Runtime Error, 5/17/08, Brooklyn, NY by richardgin.org

What is runtime error 6 - overflow?

A runtime or run-time error message can be caused by various different issues. It might be due to some conflict with another running program or it might be a software issue. It can also be due to virus or can be a memory issue as well. The steps to solve a runtime error depends on the fact that it has been caused by which of the above 4 reasons. You can easily find out what the code of each runtime error means. As the title says the meaning of runtime error 6 is overflow. This is basically a program error.

To solve the runtime error 6 overflow verify that the affected program has all the latest updates. If it is fully updated, try reinstalling the program. However, if you still continue to have the same errors contact the software developer.

The registry is probably the most active and most important process in an operating system. It is the process which is primarily responsible for all the changes and actions within the operating system.

That is why when it breaks down, a runtime error 6 overflow might occur. The breaking down of the registry process might be the result of a very dangerous virus which has attacked the operating system.

And in order for the user to save his computer and his important data from crashing, he has to repair the runtime error 6 overflow with a very effective registry cleaner.

Rewrite: http://www.articlesbase.com/operating-systems-articles/fix-microsoft-visual-c-runtime-library-error-with-registry-cleaner-1396665.html

Add comment  Tagged:  , มกราคม 21, 2010

Previous Posts