git_bsmd/bsmd.dbh/readme.txt

21 lines
1.3 KiB
Plaintext

Um etwas mehr Kontrolle über die Erzeugung von Klassen aus .xsd Dateien zu haben verwende ich nicht
das mitgelieferte xsd.exe sondern ein VS Plugin http://xsd2code.codeplex.com/
Es wird über Kontext-Menü auf der XSD Datei gestartet. Deshalb ist diese auch hier im Projekt enthalten.
Damit man einen Web-Service erhält, der nicht die private Felder sondern die Properties der
generierten Klasse verwendet, muss man
[OperationContract] und [XmlSerializerFormatAttribute()]
auf der Interface-Methode verwenden.
Neu:
Der Namespace darf nicht im endgültigen SOAP Call enthalten sein. Dazu habe ich in den
generierten Service-Klassen den Namespace auf "" gesetzt.wsdl.exe war nicht notwendig!
so:
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.openuri.org/submit", RequestNamespace="", ResponseElementName="submitResponse", ResponseNamespace="", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
13.11.23
Anpassung Timestamp Root Objekt als String(!) statt serialisiertem DateTime um die Nano-Sekunden
wegzubekommen und die DBH String Formatierung hinzukriegen. War vorher zwar auch nicht so aber Heinz-Dieter hat
es so angemerkt.
Achtung: Bei einer Neugenerierung muss man es vermutlich wieder nachziehen.