Ich erfahre ein seltsames Verhalten beim Zugriff auf meine Webdienste in einen Webbrowser und es führt beim Generieren zu einer Ausnahme.Fehler beim Zugriff Zugriff auf die WSDL meiner WCF-Dienste: "Die Operation verweist auf ein Nachrichtenelement ... das bereits aus dem ... exportiert wurde"
Hier ist mein Szenario:
Zugang Webseite: http://localhost:10100/WCFService1.svc?wsdl
Zugang Webseite: http://localhost:10100/WCFService2.svc?wsdl
Das Problem ist, dass die Ausgabe von WCFService2.svc WSDL enthält Die gesamte Definition von WCFService1 wurde mit WCFService2 zusammengeführt.
Darüber hinaus, wenn ich auf eine andere WSDL zugreifen, die eine Methode mit dem gleichen Namen der zuvor generierten WSDL enthält, bekomme ich diese Ausnahme (sicherlich, weil meine WSDL zusammengeführt werden).
Ich bemerke auch der Name des Auftrags irgendwie seltsam ist es, die mit „:“ vor dem Dienstnamen: http://MyCompany.ca/:IWCFService3
Jemand eine Ahnung, was mit der „WSDL-Export-Erweiterung“ ist da los?
Ein ExceptionDetail, erstellt wahrscheinlich durch IncludeExceptionDetailInFaults = true, , dessen Wert:
System.InvalidOperationException: Eine Ausnahme in einem Aufruf einer Erweiterung WSDL Export geworfen wurde:
System.ServiceModel .Description.DataContractSerializerOperationBehavior Vertrag: http://MyCompany.ca/:IWCFService3
----> System.InvalidOperationException: Die MyCompany.IWCFService3.Import Operation verweist auf ein Nachrichtenelement [http://MyCompany.ca/:Import], das bereits aus dem MyCompany.IWCFService2.Import Operation exportiert wurde. Sie können den Namen einer der Operationen ändern, indem Sie den Methodennamen ändern oder die Name-Eigenschaft von OperationContractAttribute verwenden. Alternativ können Sie den Elementnamen mit dem MessageContract-Programmiermodell genauer steuern. bei System.ServiceModel.Description.MessageContractExporter.AddElementToSchema (XmlSchemaElement Element, String elementNs, XmlSchemaSet schemaSet) bei System.ServiceModel.Description.MessageContractExporter.ExportWrappedPart (Message Nachricht, String element, String elementNs, XmlSchemaSet schemaSet, Boolean skipSchemaExport) bei System.ServiceModel.Description.DataContractSerializerMessageContractExporter.ExportBody (Int32 message, Objektzustand) bei System.ServiceModel.Description.MessageContractExporter.ExportMessage (Int32 message, Objektzustand) bei System.ServiceModel.Description.MessageContract Exporter.ExportMessageContract() bei System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IWsdExportExtension.Exportcontract (WsdlExporter Exporteur, WsdlContractConversionContext contractContext) bei System.ServiceModel.Description.WsdlExporter.CallExtension (WsdlContractConversionContext contractContext, IWsdlExportExtension Erweiterung)
Ich würde vorschlagen, dass Sie dies mit zwei (kleinen) Dummy-Diensten versuchen, reproduzieren das Problem, dann den Code hier posten. –
wird das dank ... tun – Termit