git_bsmd/nsw/Source/bsmd.dbh/readme.txt

17 lines
1.0 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)]