Category Archives: BizTalk
Biztalk 2006 SQL Adapter polling bug. Potentially you can bring Biztalk Server to halt within few minutes.
What a bad and wasted day.. Hours was wasted to configure out why Biztalk solution can not be compiled even the last opened project can. It’s an compile error that tells parameter indentifier of Multi-part messsage types is not recognized. “identifier ‘parameters’ does not exist in ‘ProcessOrderRequestMessage’; are you missing an assembly reference?“.
The project I develop calls many web services from orchestration to update or store data. 4 types of WCF services and 2 types of Web services. The problem comes when I finish coding for the first time it runs OK . But after I quit the VS and open it again and do some minor change (to trigger the code to be compiled again), the project can not be compiled and shows error as described above.
One workaround I used to solve that problem is make again the project from the beginning and add each files. But this is not a good solution, because it’s time consuming and the problem occurs again when we reopen the solution again.
Another workaround is to copy all the port types and multi-part message types from the generated orchestration to the master orchestration.
Hope this can help others who has the same problem with me..
When you add a map Biztalk file, you can only choose one source file and one destination file. But in reality we could have multiple input schema.
The link below has steps as guidance to add multiple schema as input.
When you are working with orchestration we can use property schema to handle the SOAP header in Biztalk.
These are the simple steps you can follow as guidance :
- Make sure your web reference to web service has been updated.
- Open Reference.xsd from the wsdl of the web service. It should define how the SOAP header constructed. And this the example :<soap:Header><Header><SessionId>12345</Sessionid></Header> </soap:Header>
- Took the root of the element from the SOAP header which is Header.
- Create the property schema and name it as SOAPHeader.xsd. I have tried using different names but it is not working so I suggest you to use this name.
- Set the target namespace of the schema become http://schemas.microsoft.com/BizTalk/2003/SOAPHeader
- Add an element to property schema, in this case Header
- Change Property Schema Bae to MessageContextPropertyBase
- Save the file.
Now you are ready to use the SOAP header in biztalk. You can use it in construction message before sending it to port or on expression after receiving message from port. You can access the SOAP header by this simple code :
SampleMessage(MyNamespace.Header) = “<ns0:Header xmlns:ns0=\”http://www.somewebaddress.com/\”>
This also has been provided by MSDN here.