Laden...

WCF Routing mit HttpGet

Erstellt von Desert Fox vor 13 Jahren Letzter Beitrag vor 13 Jahren 784 Views
D
Desert Fox Themenstarter:in
33 Beiträge seit 2010
vor 13 Jahren
WCF Routing mit HttpGet

In userer Applikation hosten wir xamlx Workflows, das besondere an diesen Workflows ist jetzt allerdings das sie versionierbar sind. Für jede Version eines Workflows wird ein eigener Workflow Host geöffnet. Um die Workflows jetzt unterscheiden zu können hat jeder worklfow eine eigene Url, z.B

www.123.de/Superworkflow$1.0
www.123.de/Superworkflow$1.1
www.123.de/Superworkflow$1.2
...

Jetzt ist allerdigns natürlich der Wunsch das man den worklflow auch über

www.123.de/Superworkflow

ansteuern kann. Das ganze wurde mit einem WCF Router gelößt der wenn ein Request einen Parameter WorkflowId in der Message Enthalten ist in einer Tabelle nachschaut zu welchem Service dieser Request gehört und ihn dementsprechend weiterleitet. Wenn dieser Parameter nicht angegeben ist wir an die letze Version gerouted.
Das funktioniert auch. DAS Problem ist jetzt das holen der Metadaten per HTTPGet und Wsdl.

Wenn ich nämlich HttpGet bei dem RoutingService aktiviere bekomme ich den Fehler:
The HttpGetEnabled property of ServiceMetadataBehavior is set to true and the HttpGetUrl property is a relative address, but there is no http base address. Either supply an http base address or set HttpGetUrl to an absolute address.

HttpGetUrl kann ich nicht verwenden da sich ja die WCF Interfaces von Version zu Version unterscheiden können.

Hätte jemand eine lösung für mich?

PS: Wenn möglich würde ich außerdem auch noch gerne auf den WorkflowControlEndpoint über www.123.de/Superworkflow/wce zugreifen können der unter www.123.de/Superworkflow$1.1/wce gehostet ist. Wenn also jemand einen Tipp hat wie ich subdomains auch routen kann würde ich mich darüber freuen.