System.Web.Services.Protocols.SoapException: Internal SOAP Processing Failure

Web service clients may encounter an error with the exception text "Internal SOAP Processing Failure" when consuming (calling) published BizTalk Web services.
Published Web services return the following generic exception when the Web service client encounters an error:


System.Web.Services.Protocols.SoapException:
System.Web.Services.Protocols.SoapException: Internal SOAP Processing Failure at

Microsoft.BizTalk.WebServices.ServerProxy.ServerProxy.Invoke....


Then Check the event log you will find these two errors :
The Messaging Engine failed to register the adapter for "SOAP" for the receive location "/VirtualDirectory/Name.asmx". Please verify that the receive location is valid, and that the isolated adapter runs under an account that has access to the BizTalk databases.

An attempt to connect to "BizTalkMgmtDb" SQL Server database on server "Server" failed with error: "Cannot open database requested in login 'BizTalkMgmtDb'. Login fails.".

To resolve this issue, configure the application pool identity for the Web service to use a user account that is a member of the BizTalk Isolated Host Users group. To do this on a Microsoft Windows Server 2003-based computer, follow these steps:

1.Start Internet Information Services (IIS) Manager.
2.Expand the computer name that you want to configure, and then expand Web Sites.
3.Right-click the virtual directory for the Web service, and then click Properties.
4.On the Home Directory tab, note the application pool for the virtual directory, and then click OK.
5.Expand Application Pools.
6.Right-click the application pool that you noted in step 4, and then click Properties.
7.On the Identity tab, configure the application pool to use a security account that is a member of the BizTalk Isolated Host Users group, and then click OK.Note This account must also be a member of the IIS_WPG group.
8.Exit Internet Information Services Manager.
9.Click Start, click Run, type cmd, and then click OK.
10.At the command prompt, type Iisreset /restart, and then press ENTER


May be there are other things casue this error , but this solution solved the error that I got...

in a sequential convoy the ports must be identical

If you are trying to receive the same message type ( using the same schema with different message) using a receive port different from the initial one, and If you tried to mark the first Receive shape with “Initializing Correlation Sets“ and the second one with “Following Correlation Sets ” , you will receive this error, so what is the Solution ?
You have more than one solution

1) Receive the same message with the same type to several Receive shapes
2) Send the different messages with the same type to several Send ports

Error While installing ESB

However I had tried to follow the installation guidelines as close as possible,An error occurred while installing Microsoft ESB CTP3 using the “1.CORE_CreateBizTalkApplication.cmd” script

“Error: Failed to update binding information. Cannot update send port" ALL.Exceptions.”Cannot set send port "ALL.Exceptions" send pipeline.Sendpipeline

"Microsoft.Practices.ESB.ExceptionHandling.Pipelines.ESBFaultProcessor,
Microsoft.Practices.ESB.ExceptionHandling.Pipelines, Version=1.0.0.1, Culture=neutral, PublicKeyToken=c2c8b2b87f54180a" not found.”

I had sent an email to Ahmed Farrag (my ex-Manager at ITWorx , now he is working as Biztalk Consultant at Microsoft Middle East Good luck there) ,He said ," this error means that the pipline was not deployed, make sure the pipeline is deployed first. use the deployment from the VS studio to do this" , Thank You Farrag it's working , thank you and Good Luck

Is that the ESB..!!!!

When someone ask me what is Microsoft ESB, I told him the usual definition and I explain it using the terms of SOA and SOI. His face had been changed to this:

So before taking about what is ESB lets explain some important definitions :

What is Infrastructure?
The fundamental structure of a system or organization. The basic, fundamental architecture of any system (electronic, mechanical, social, political, etc.) determines how it functions and how flexible it is to meet future requirements.

So what is the Service Orientation in general?
Service-orientation is a service paradigm that specifies the creation of automation logic in the form of services. It is applied as a strategic goal in developing a service-oriented architecture (SOA). Like other design paradigms, service-orientation provides a means of achieving a separation of concerns.

Okay what is Service Oriented Infrastructure?

Essentially, an SOI is a set of physical and system software level IT resources, which are geared to meeting the demands of an SOA-defined application environment, and in many ways mirrors the attributes that are commonly associated with SOA environments.

Ummmmmmm… Is there is a different between Service Oriented and Object Oriented design?
First lets define what is Object Oriented Design is part of OO methodology and it forces programmers to think in terms of objects, rather than procedures, when they plan their code. An object contains encapsulated data and procedures grouped together to represent an entity.

So Service-oriented programming (SOP) builds on top of OOP, allowing services to be built using OO techniques. These services themselves provide increased reuse of the business logic, by allowing the service to be used in diverse applications. OOP focuses on what objects an application consists of, while an SOP approach focuses on the application's functionality, or in other words, what the application does.


then the term of ESB is:

the context of implementing an infrastructure for enabling a Service-Oriented Architecture (SOA). However, real-world experience with the deployment of SOAs has shown that an ESB is only one of many building blocks that make up a comprehensive Service-Oriented Infrastructure (SOI). The term ESB has morphed in a number of different directions, and its definition depends on the interpretation of individual ESB and integration platform vendors, and on the requirements of particular SOA initiatives.


Based on the experience Microsoft has gathered from many successful real-world SOI implementations, you can think of an Enterprise Service Bus as a collection of architectural patterns based on traditional enterprise application integration (EAI), message-oriented middleware, Web services, .NET and Java interoperability, host system integration, and interoperability with service registries and asset repositories.

Okai , So What ?!

Check this :

  • New ESB Web services, including the Itinerary and Resolver services
  • New samples that demonstrate itinerary processing, UDDI service integration, and the BizTalk
  • Operations and Resolver services; the ESB Management Portal, and an implementation of the Scatter/Gather pattern for Web services
  • New core features, such as itinerary processing, centralized event logging, the Exception Management Framework; it also introduces the AmberPoint Embedded Nano Agent for BizTalk Server and the SOA Software Management Point for BizTalk Server.






Eleven Emerging Ideas for SOA Architects in 2007

http://www.soanowjournal.com/bestpractices.html

What is Service Oriented Architecture? SOA

Saving your SOAP Request in ONE STEP

Do you want to save the SOAP request to your webservice!!!
And you don’t want to write a huge lines of code to do that process!!!

Download this
dll , and just add the following attribute before your method:
[WebMethod, SoapLogger("C:\\soap.log")]

* WebMethod attribute: Attaching the WebMethod attribute to a Public method indicates that you want the method exposed as part of the XML Web service

*SoapLogger("C:\\soap.log"): Attaching the SoapLogger attribute to a Public method indicates that you want the monitor the SOAP request to that method and you want to save this request in that path : 'C:\\soap.log'

don’t care about the code just use the dll , and enjoy soaping... :D

Creating SOAP Header Schemas in BizTalk 2006 (Part 3)

Now we are go to create an Orchestration that can send a request to a Web Service that can process a SOAP Header "see Creating SOAP Header Schemas in BizTalk 2006 (Part 2) ":

1) You have to define a schema , the schema type of it is Property and the target namespace is http://schemas.microsoft.com/BizTalk/2003/SOAPHeader "see Creating SOAP Header Schemas in BizTalk 2006 Article Part(1)" ,
but you have to add a Child Field Element its name exactly the name of SOAP header class in the web service that will Process the SOAP Header

2)Now put your send , receive , assignment , and send-receive port to the web service that process the SOAP Header , as shown in the below image :


3) The Important part here is in the Assignment shape; let us check the code inside it:

msgRequest(SOAPHeader) = "HELLO AM IN HEADER ";

*msgRequest : is a message of type web messages type ,which is the type of the web service tha process the SOAP header type


*SOAPHeader : The Schema that we have define


*"HELLO AM IN HEADER " : the vlaue that will be send to the web service


Now Congratulations, you can now Biztalking ...: D

Creating SOAP Header Schemas in BizTalk 2006 (Part 2)

First, we have to know, how to Build a web service That Processes SOAP Headers:

---Define and Process SOAP Headers:

1. To define a class representing a SOAP header
-Create a class deriving from the Soap Header class with a name matching the root element for the SOAP header. Then Add public fields or properties, matching the names and their respective data types for each element in the SOAP header. For instance, given the following SOAP header, the class following it defines a class representing the SOAP header.

public class mySoapHeader : SoapHeader
{
public string HeaderValue;
}
2. To process SOAP headers within a Web service
-Add a public member to the class implementing the Web service of the type representing the SOAP header.


[WebService(Namespace = "http://ITWorx/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public mySoapHeader MyHeaderValue;

}
- Apply a
SoapHeader attribute to each Web service method that intends to process the SOAP header. Set the MemberName property of the SoapHeader attribute to the name of the member variable created in the first step.

[SoapHeader("MyHeaderValue",Direction=SoapHeaderDirection.In)]
public string GetString()
{
}

-Within each Web service method that the SoapHeader attribute is applied to, access the member variable created in the first step to process the data sent in the SOAP header.

[SoapHeader("MyHeaderValue",Direction=SoapHeaderDirection.In)]
public string GetString()
{
if (MyHeaderValue != null){
return MyHeaderValue.HeaderValue;
}
else
return "Invalid information in SOAP Header";

In the Next article in sha'a ALLAH, I will explain how the orchestration could send a request includes a custom value in the SOAP Header



Creating SOAP Header Schemas in BizTalk 2006 (Part 1)

The steps for creating a SOAPHeader property schema are as follows:

1. Add a new schema to the project.
2. In the Properties window of the schema, set the Target Namespace to the BizTalk
SOAPHeader namespace which is :
http://schemas.microsoft.com/BizTalk/2003/SOAPHeader

and the Schema Type to Property, as shown in the below Figure:


3. Add the desired elements to the schema. There is no root node on a SOAPHeader property
schema; it has only elements. In this example, there would be two elements added
to the schema: MessageId and TraceFlag.
4. On each element created, set the Property Schema Base in the Properties window to MessageContextPropertyBase, as shown in the below Figure :



In the next article, I will show you how to send a request includes data in the SOAP header to a web service, and how the web service will parse the SOAP header



"you must specify at least one already-initialized correlation set for a non-activation receive that is on a non-selfcorrelating"

The solution of this exception is very simple : View the property settings for the first Receive Shapeand change the [Activate] property to True ,

if this didnt reslove your problem then There are two possiblities: If you have more receive shapes, but they are all part of a request-response port, then you need the "activate" property of the first receive shape. Only if you have more than one receive shape that are not part of request-response ports, do you need correlation. Correlation will not solve your problem in the first two cases.

Introduction to BizTalk Server's Features and Benefits

BizTalk Server provides many features that enable organizations to continuously improve their business processes, their level of customer service and their bottom line; however, most .NET developers and architects have never examined the product. This article will introduce the reader to many of BizTalk's features and discuss their benefits :
http://dotnet.sys-con.com/read/275464_1.htm

STOP!!!!! Please, I need to know what BizTalk is!

This is what I heard from someone when I told him the famous definition of BizTalk which is "BizTalk is a business process management (BPM) server that enables companies to automate and optimize business processes. This includes powerful and, familiar tools to design, develop, deploy, and manage business processes."

He said,"haaaaa????!!!!!"



Trying to explain, I talked to him about the world-wide need of many organizations to integrate their enterprise applications. I told him some concepts like(Service-Oriented Architecture (SOA), Message-Oriented Middleware (MOM), methodologies (Business Process Management-BPM, Business Process Reengineering) and standards (XML, XSD, Rosetta.NET) as well as the advent of emerging technologies such as Web Services stack of protocols (WS-*), Enterprise Service Bus (ESB) and others, then vendors have released their own solutions and thus organizations have achieved their challenging goals of automation of business process by the integration of their Information Systems. In this arena, we can find fundamentally two important products: Microsoft BizTalk Server 2004/2006 and Oracle SOA Suite."

I thought he said inside him, "Ummmm…..seem that someone will be killed tonight"


I told him, "Wait man , I got a very simple definition of BizTalk Server which is Microsoft's central platform for Enterprise Application Integration (EAI) and Business Process Management (BPM) that embodies the integration and automation capabilities of XML and Web Services technologies. "

He screamed and said, "STOP!!!!!"

And carrying and said in a weak voice "Please, I need to know what BizTalk is!"

After I told him I know how can I explain this, he calmed down. I found that the most important terms that BizTalk depend on are: Business Process Management (BPM), Enterprise Application Integration (EAI) and finally, Service Oriented Architecture (SOA).

I told him , Man what if I told you that "What will you say that if the organization need a disciplined approach to identify, design, execute, document, monitor, control, and measure both automated and non-automated business processes to achieve consistent, targeted results consistent with an organization's strategic goals."

He said, "Of course this approach will help them to better manage their business processes"

I told him, "This is the BPM, beside there are many vendors who created application suites which enable organizations to better manage their business processes. These technologies typically involve tools to visually design and model business processes; simulate and test business processes; automate, control and measure business processes; and provide feedback and reporting on process performance. Some vendors have combined these functions into business process management suites that provide a complete integrated BPM platform, commonly referred to as a BPMS"


I GOT A POINT

I told him again, and what if I told you that many organizations have a large number of legacy systems, typically designed to support specific functions such as manufacturing or sales. In order to manage the end-to-end work involved in business processes, a BPMS must be able to integrate with legacy systems across the organization in order to control work, get information or measure performance. A variety of new technologies have emerged to simplify integration efforts and the technology industry appears to be standardizing on a specific set of open technologies, commonly referred to as Web Services. And By leveraging web services, organizations can build and manage end-to-end business processes across organizational silos and their legacy systems."

He said, "Oahu…this is a good architecture ".

Note: he said the term architecture

I told him this architecture called means a common framework for how these technologies are deployed is also being adopted, most often referred to as a Service Oriented Architecture (SOA).

I GOT ANOTHER POINT


Finally, I told him again, and what if I told you that EAI is the unrestricted sharing of data and business processes throughout the networked applications or data sources in an organization. You know that early software programs in areas such as inventory control, human resources, sales automation and database management were designed to run independently, with no interaction between the systems. They were custom built in the technology of the day for a specific need being addressed and were often proprietary systems. As enterprises grow and recognize the need for their information and applications to have the ability to be transferred across and shared between systems, companies are investing in EAI in order to streamline processes and keep all the elements of the enterprise interconnected."

He said, "Well this is a good thing to help my enterprise applications to run independently"

Congratulation Sir!!!! You had understood the BizTalk server right now.

Conclusion:

Then after this story we can say that BizTalk is a product developed by Microsoft to enable companies to automate and optimize business processes. This includes powerful, familiar tools to design, develop, deploy, and manage those processes (BPM). BizTalk not only used to integrate enterprise applications with each other (SOA) and (EAI), but also automate, control and measure business processes; and provide feedback and reporting on process performance and define and run your business rules dynamically.