Мне нужно взять некоторые заранее определенные WSDL (я не контролирую их) и выставить их на нашем устройстве для ответа на различные запросы SOAP / UPnP.
В любом случае, у меня все это работает, но проблема возникает, потому что у меня есть одна услуга, которую можно запрашивать на любом количестве каналов.Я объясню:
[System.ServiceModel.ServiceContractAttribute(Namespace="urn:some:namespace:1", ConfigurationName="myInterface")]
public interface myInterface
{
[System.ServiceModel.OperationContractAttribute(Action="urn:some:namespace:1#GetConfiguration", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
[return: System.ServiceModel.MessageParameterAttribute(Name="config")]
MyConfigurationResponse GetConfiguration(MyConfigurationRequest request);
}
По сути, то, что я пытаюсь сделать (я понимаю, что этот синтаксис совершенно неправильный, но я думаю, что это поможет понять смысл), это:
Я просто хотел бы, чтобы некоторая часть моего исходного сообщения Action передавалась в качестве параметра методу, который я реализую.
Единственный способ, которым я мог бы реализовать это, - это указать какой-то другой метод, назовем его Dispatcher with Action = "*", а затем вручную проанализировать полученное действие, используяOperationContext.Current.IncomingMessageHeaders.Action
.Это просто кажется очень сомнительным способом ведения дел.Я уверен, что основным препятствием на этом пути является моя неопытность в WCF.
Любая помощь, которую вы сможете оказать, будет высоко оценена.
Спасибо,