[Mono-list] SoapHeaderAttribute problem

Lluis Sanchez lluis at ximian.com
Thu Mar 23 07:11:12 EST 2006


El jue, 23-03-2006 a las 12:53 +0100, Pere Rodríguez escribió:
> Hello,
> 
> I'm client of a WS with 12 functions and I need to add a special
> header for all the functions.
> I create a SoapExtension and SoapAttribute classes for add the header,
> then I add attributes on one method to test and it run ok.
> 
> The problem is when I add attribute to all the functions. If I add
> attribute more than 9 functions then I get this error:
> 
>  Key duplication when adding: SIRE.SecurityHeader
> in <0x001f2> System.Collections.Hashtable:PutImpl (System.Object key,
> System.Object value, Boolean overwrite)
> in <0x00012> System.Collections.Hashtable:Add (System.Object key,
> System.Object value)
> in <0x00074> System.Xml.Serialization.XmlSerializationWriter:AddWriteCallback
> (System.Type type, System.String typeName, System.String typeNs,
> System.Xml.Serialization.XmlSerializationWriteCallback callback)
> in <0x001a6> System.Xml.Serialization.XmlSerializationWriterInterpreter:InitCallbacks
> ()
> in <0x00038> System.Xml.Serialization.XmlSerializationWriter:CheckReferenceQueue
> ()
> in <0x00037> System.Xml.Serialization.XmlSerializationWriter:WriteReferencingElement
> (System.String n, System.String ns, System.Object o, Boolean
> isNullable)
> in <0x004f4> System.Xml.Serialization.XmlSerializationWriterInterpreter:WriteMemberElement
> (System.Xml.Serialization.XmlTypeMapElementInfo elem, System.Object
> memberValue)
> in <0x00205> System.Xml.Serialization.XmlSerializationWriterInterpreter:WriteElementMembers
> (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean
> isValueList)
> in <0x0002b> System.Xml.Serialization.XmlSerializationWriterInterpreter:WriteMembers
> (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean
> isValueList)
> in <0x00120> System.Xml.Serialization.XmlSerializationWriterInterpreter:WriteMessage
> (System.Xml.Serialization.XmlMembersMapping membersMap,
> System.Object[] parameters)
> in <0x001fd> System.Xml.Serialization.XmlSerializationWriterInterpreter:WriteRoot
> (System.Object ob)
> in <0x00061> System.Xml.Serialization.XmlSerializer:Serialize
> (System.Object o, System.Xml.Serialization.XmlSerializationWriter
> writer)
> in <0x000b9> System.Xml.Serialization.XmlSerializer:Serialize
> (System.Xml.XmlWriter writer, System.Object o,
> System.Xml.Serialization.XmlSerializerNamespaces namespaces)
> in <0x00012> System.Xml.Serialization.XmlSerializer:Serialize
> (System.Xml.XmlWriter xmlWriter, System.Object o)
> in <0x00093> System.Web.Services.Protocols.WebServiceHelper:WriteSoapMessage
> (System.Xml.XmlTextWriter xtw, SoapBindingUse methodUse,
> System.Xml.Serialization.XmlSerializer bodySerializer,
> System.Xml.Serialization.XmlSerializer headerSerializer, System.Object
> bodyContent, System.Object[] headers)
> in <0x0007f> System.Web.Services.Protocols.WebServiceHelper:WriteSoapMessage
> (System.Xml.XmlTextWriter xtw,
> System.Web.Services.Protocols.SoapMethodStubInfo method,
> SoapHeaderDirection dir, System.Object bodyContent,
> System.Web.Services.Protocols.SoapHeaderCollection headers)
> in <0x00084> System.Web.Services.Protocols.SoapHttpClientProtocol:SendRequest
> (System.IO.Stream s, System.Web.Services.Protocols.SoapClientMessage
> message, System.Web.Services.Protocols.SoapExtension[] extensions)
> in <0x0013b> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke
> (System.String method_name, System.Object[] parameters)
> in [0x00022] (at /mnt/p/Fonts/Colom/SIRE/SirePrescripcionWS.cs:279)
> SIRE.Proxy.SirePrescripcionWSService:WS_GENCAT_CATSALUT_SIRE_ConsultaPrescripcions
> (System.String P_COD_CIP, System.String P_COD_REC, System.String
> P_COD_NIA, System.String P_COD_FSM, System.String P_COD_UP)
> in (wrapper remoting-invoke-with-check)
> SIRE.Proxy.SirePrescripcionWSService:WS_GENCAT_CATSALUT_SIRE_ConsultaPrescripcions
> (string,string,string,string,string)
> in [0x00079] (at /mnt/p/Fonts/Colom/SIRE/WS.cs:68)
> SIRE.WS:ConsultarPrescripcions (Colom.Missatge msg)
> in <0x00000> <unknown method>
> in (wrapper managed-to-native)
> System.Reflection.MonoMethod:InternalInvoke (object,object[])
> in <0x0008d> System.Reflection.MonoMethod:Invoke (System.Object obj,
> BindingFlags invokeAttr, System.Reflection.Binder binder,
> System.Object[] parameters, System.Globalization.CultureInfo
> culture)]]></Resposta></Missatge></RC1></Resposta>
> 
> Where is the problem?

Whithout some source code, it's impossible to see where is the problem.
Filing a bug report in bugzilla.ximian.com and attaching a test case we
can use to reproduce the problem would be of great help.

Lluis.




More information about the Mono-list mailing list