internal void WriteHeaderEntry(NameInfo nameInfo, NameInfo typeNameInfo, Object value)
{
nameInfo.Dump("WriteHeaderEntry nameInfo");
if (typeNameInfo != null)
{
typeNameInfo.Dump("WriteHeaderEntry typeNameInfo");
}
attrList.Clear();
if (value == null)
attrList.Put("xsi:null", "1");
else
attrList.Put("xsi:type", TypeNameTagResolver(typeNameInfo, true));
if (nameInfo.NIisMustUnderstand)
{
attrList.Put("SOAP-ENV:mustUnderstand", "1");
isUsedEnc = true;
}
attrList.Put("xmlns:"+nameInfo.NIheaderPrefix, nameInfo.NInamespace);
attrList.Put("SOAP-ENC:root", "1");
String stringValue = null;
if (value != null)
{
if (typeNameInfo != null && typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.QName)
{
SoapQName soapQName = (SoapQName)value;
if (soapQName.Key == null || soapQName.Key.Length == 0)
attrList.Put("xmlns", "");
else
attrList.Put("xmlns:"+soapQName.Key, soapQName.Namespace);
stringValue = soapQName.ToString();
}
else
stringValue = Converter.SoapToString(value, typeNameInfo.NIprimitiveTypeEnum);
}
NamespaceAttribute();
Write(InternalElementTypeE.Member, nameInfo.NIheaderPrefix+":"+nameInfo.NIname, attrList, stringValue, true, true);
}