WebService Fehler: System.InvalidOperationException

05/11/2007 - 14:57 von Sebastian | Report spam
mein kleiner Webservice besteht aus folgendem Code:


using System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {
}

[WebMethod]
[return: System.Xml.Serialization.XmlArrayItem(typeof(Buehnenplan))]
public ArrayList getContacts()
{
ArrayList response = new ArrayList();
Buehnenplan bp = new Buehnenplan();
bp.GTT = "wieso klappt das nicht!?";
response.Add(bp);
return response;
}

[SoapInclude(typeof(Buehnenplan))]
public class Buehnenplan
{
public string GTT;
}
}


Beim ausführen, kommt immer folgender Fehler :


System.InvalidOperationException: Beim Generieren des XML-Dokuments ist ein
Fehler aufgetreten. > System.InvalidOperationException: Der Typ
Service+Buehnenplan wurde nicht erwartet. Verwenden Sie das XmlInclude- oder
das SoapInclude-Attribut, um Typen anzugeben, die nicht statisch sind.
bei
System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(String
name, String ns, Object o, Boolean xsiType)
bei
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType)
bei
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_ArrayOfAnyType(Object o)
bei
Microsoft.Xml.Serialization.GeneratedAssembly.ArrayListSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
bei System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,
Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
Ende der internen Ausnahmestapelüberwachung
bei System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,
Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
bei System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,
Object o, XmlSerializerNamespaces namespaces, String encodingStyle)
bei System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,
Object o, XmlSerializerNamespaces namespaces)
bei System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter,
Object o, XmlSerializerNamespaces namespaces)
bei System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter,
Object o)
bei System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse
response, Stream outputStream, Object returnValue)
bei System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[]
returnValues, Stream outputStream)
bei System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[]
returnValues)
bei System.Web.Services.Protocols.WebServiceHandler.Invoke()


Das Problem kommt aber nur, in Verbindung mit der extra Klasse. Was mache
ich falsch? Könnt Ihr mir helfen?

Danke Sebastian
 

Lesen sie die antworten

#1 Peter Fleischer
05/11/2007 - 16:42 | Warnen spam
"Sebastian" schrieb im Newsbeitrag
news:

System.InvalidOperationException: Beim Generieren des XML-Dokuments ist
ein
Fehler aufgetreten. > System.InvalidOperationException: Der Typ
Service+Buehnenplan wurde nicht erwartet. Verwenden Sie das XmlInclude-
oder
das SoapInclude-Attribut, um Typen anzugeben, die nicht statisch sind.
bei


...
Das Problem kommt aber nur, in Verbindung mit der extra Klasse. Was mache
ich falsch? Könnt Ihr mir helfen?



Der Fehler entsteht, wie in seinem Text geschrieben, weil XmlInclude- oder
das SoapInclude-Attribut fehlen. Diese Attribute werden benötigt, um die
Objekte in deiner ArrayList zu serialisieren.



Viele Gruesse

Peter

Ähnliche fragen