Friday, June 26, 2015

Sending Mail from Dynamic Port with Password Authentication

If you are sending an e-mail over the SMTP adapter using a dynamic send port and you want to use user/password authentication at the SMTP server, you have to do the following in the orchestration:
  • Set all relevent SMTP properties
  • Promote the SMTP properties in a correlation set - but not the Passwort property because this one is marked as "IsSensitive" and hence cannot be promoted.
This is due to security reaspons so that a BizTalk operator cannot see the password in any running instance.

If you promote the password anyway, you run into the following exception:
Shape name: MailSend
ShapeId: %GUID%
Exception thrown from: segment 1, progress 12
Inner exception: The value assigned to property 'SMTP.Password' is not valid: '%password%'.
Exception type: InvalidPropertyValueException

Thanks for sharing, Ronny!

Wednesday, January 28, 2015

BizTalk Konsole stops working with Error IDS_ERR_FIND_SCHEMA

I wanted to update a BizTalk assembly in which a schema had change its name. To make it simple, I chose to use the "modify" option inside the BizTalk administration konsole. I then run into the following error:
Schema referenced by Map 'XXX' has been deleted. The local, cached version of the BizTalk Server group configuration is out of date. You must refresh the BizTalk Server group configuration before making further changes. (Microsoft.BizTalk.Administration.SnapIn)

------------------------------
For help, click: http://go.microsoft.com/fwlink/?LinkId=47400&ProdName=Microsoft+BizTalk+Server+2013&ProdVer=3.10.229.0&EvtSrc=Microsoft.BizTalk.ExplorerOM.Resources&EvtID=IDS_ERR_FIND_SCHEMA

I first tried to refresh the group but this did not help. Instead, I could not even open the application list.

Luckily, the error message told which map missed its schemas.

We could solve this problem (thanks, Christian!) by correcting the message type inside the BizTalkMgmtDb table bt_DocumentSpec where it was still stored with the old name (so it was not updated during "modify" action).

So if you update an assembly, in which a schema changed its name, you have to install the assembly from the scratch.

But if you already have run into that problem, open table bt_DocumentSpec and check whether the docspec_name is correct there.

Tuesday, January 27, 2015

Laptop for Social Organisation in Bolivia

Something from the non-BizTalk area: I just installed a laptop with Spanish Windows in order to give it to a social organisation in Bolivia. The funny point in the end was to tinker special characters for the keyboard.

Whoever wants to support the same organisation (Elijo la Vida, Cochabamba) that helps young, single mothers to finish their studies, can donate here: https://www.betterplace.org/de/projects/15304-unterstutze-junge-schwangere-und-mutter-in-bolivien

Friday, November 21, 2014

Running Instance keeps being "Active" without showing Action (WCF-Custom Sendport)

I stumpled over the following phenomenon that an instance in BizTalk 2013 kept running (in active state) although it did not do anything. You could see in the Webserver logs that the session was not running any longer. When I run the same Webservice with SoapUI, I could see that the Webservice responded with a timeout message (http 500) after 15 minutes:

Application Server Error

500 Connection timed out


Wed Nov 12 16:07:54 2014
BizTalk must have received the same, but somehow did not suspend the message. 

Did anyone else run into the same error, or could give me any hint?

Wednesday, October 15, 2014

FileNotFoundException of Microsoft.BizTalk.Interop.SSOClient.dll, Version=5.0.1.0

I am migrating from BizTalk 2013 to R2 and in doing so the BizTalk Development Framework missed the assembly Microsoft.BizTalk.Interop.SSOClient from version 5.0.1.0. I could see that newer versions were installed in the .net 4.0 GAC.

So if you run into the same problem, you could download the BizTalk Development Framework sourcode and could manually put the missing assembly into the .net 2.0 GAC

Wednesday, September 10, 2014

Biztalk WCF SAP Exception "The parameter Program Id required for SAP Inbound Handler was not specified"

If you get this exception in the WCF SAP Receive Location

The Messaging Engine failed to add a receive location "Scandlines_IDoc_Handler" with URL "sap://CLIENT=007;LANG=EN;@a/SAP.SE.RV.ER/00?ListenerGwServ=sapgw00;ListenerGwHost=SAP.SE.RV.ER;ListenerProgramId=PROGRAMID;RfcSdkTrace=True;AbapDebug=False" to the adapter "WCF-Custom". Reason: "Microsoft.ServiceModel.Channels.Common.ConnectionException: The parameter Program Id required for SAP Inbound Handler was not specified.
   at Microsoft.Adapters.SAP.SAPInboundContract.StartListener(String[] listenerActions, TimeSpan timeout)

it might, of course, be because the Program ID was not specified. However, in our case, we had not created the right SAP Connection String. All paramter have to be joined with "&" character. So if you run into the same error, look carefully at the Connection string and also at the spelling of the parameters.

Monday, July 14, 2014

XTransformationFailureException.. or Attribute and namespace nodes cannot be added to the parent element after a text, comment, pi, or sub-element node has already been added.

I just met this fine error after a migration of BizTalk2006 maps to 2013. It is strictly connected to the use of XslCompiledTransform which is now used since BizTalk 2013.

In my case it occurred whenever an depended father field was filled with NIL.
See the example here:



Quick solution was removing the NIL value and just apply the boolean value to the father element



Wednesday, July 9, 2014

BizTalk XmlException: "'Text' is an invalid XmlNodeType. Line 1, position 1"

If you run into this error during runtime:

A message sent to adapter "WCF-Custom" on send port "SapInvoiceExport" with URI "sap://CLIENT=007;LANG=EN;@a/SAP-SERVER/00?GWSERV=sapgw00&RfcSdkTrace=False&AbapDebug=False" is suspended.
 Error details: System.Xml.XmlException: 'Text' is an invalid XmlNodeType. Line 1, position 1.
   at System.Xml.XmlReader.ReadStartElement(String name)
   at Microsoft.BizTalk.Adapter.Wcf.ComponentModel.IdentityElementSurrogate.ReadXml(XmlReader reader)
   at Microsoft.BizTalk.Adapter.Wcf.ComponentModel.IdentityElementSurrogate.set_ConfigXml(String value)
   at Microsoft.BizTalk.Adapter.Wcf.Config.CustomTLConfig.CreateEndpointAddress()
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.InitializeValues(IBaseMessage message)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfTransmitter`2.GetClientFromCache(String spid, IBaseMessage message)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfAsyncBatch`2.BatchWorker(List`1 messages)
 MessageId:  {E62F2F57-1727-40A7-81DC-8DF797250933}
 InstanceID: {E59F2C86-D2A7-4A57-B6B0-7C3995676E3A}

... then your WCF Send Port Configuration might have screwed up. You can verify this, if the "Send Port Configuration Wizard" breaks with this error when you press the "Edit Endpoint Identity" button or when you try to export the configuration. The Endpoint Identity itself shows some sort of stars:


Solution (July 7, 2014): I imported the binding files with <Password vt="1">pwd<Password><Identity vt="1" />. Since vt contains the type (and format) of the element, it got somehow puzzled. So either use vt="8" or just remove the <Identity> element if you do not need it.

However, the same error can occur also with other mistakes in the Custom props, for example wrong passwords or escaping errors (for example, a non-escaped ">"). Thanks, Christian, for the information!

Tuesday, July 1, 2014

Biztalk/VS Error Message "non-readonly field property access is limited to distinguished fields on class-based messages"

Do you run into the following error while building your Biztalk project?
Non-readonly field property access is limited to distinguished fields on class-based messages.
Visual Studio seems to misinterpret your property access to the XmlDocument message, for example with MSG.DocumentElement.LocalName. It assumes that you want to access a distinguished field, which is not allowed here.

Mahesh explained this error on MSDN - it comes from the installation of Hotfix 2851429 in CU2. According to Microsoft, it will be fixed with CU3; if you do not want to wait, you should contact Microsoft Support.

Until then, the only solution that helped me was to un-install the CU2.

Here the screenshot of the error:

UPDATE on July 8th, 2014: The issue is solved in BizTalk 2013 R2.

Tuesday, June 17, 2014

Biztalk FILE Send Port throws "The system cannot find the file specified"

If you receive this exception in BizTalk
A message sent to adapter "FILE" on send port "SENDPORT_FILE" with URI "\\ABC\PATH\%MessageID%.xml" is suspended. 
Error details: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
MessageId:  {5EC92559-C6E3-490C-A1D4-981D154BA126}
InstanceID: {4FF0F3DE-9A4C-4ECE-8C5A-98B34C78701E}
the reason could be that BizTalk does not find the assembly during runtime in the GAC, although it was there. In my case, I had to create the assembly in Development mode instead of instead of and then BizTalk could find the assembly.