Использовать службу WCF с тем же именем и тем же целевым пространством имен из BizTalk - PullRequest
2 голосов
/ 30 июля 2009

У меня есть сценарий обслуживания службы WCF, подобный этому

namespace Company.BO.Contracts {

public interface ITypeService  {    }

public partial interface IType1Services : ITypeService  
{
    [OperationContract()]
    Type1 GetType1(System.Int32 idValue);

    [OperationContract()]
    Type1 Save(Type1 myType1, System.Int32 changeUser);
}

public partial interface IType2Services : ITypeService  
{
    [OperationContract()]
    Type2 GetType2(System.Int32 idValue);

    [OperationContract()]
    Type2 Save(Type2 type2, System.Int32 changeUser);
}

}

namespace Company.ContractFulfillment {

public class Type1Services : IType1Services
{
    public MyType1 GetType1(System.Int32 idValue)
    {
        return new Type1();
    }
}

public class Type2Services : IType2Services
{
    public Type2 GetType2(System.Int32 idValue)
    {
        return new Type2();
    }
}

}

Когда я представляю приведенный выше код в качестве службы WCF, BizTalk не может различать Type1.Save () и Type2.Save (). Есть ли способ без изменения сервиса, потому что сервис является частью структуры и требует больше изменений в других зависимых местах?

Для клиентов, отличных от BizTalk, слой доступа к службам помещается в библиотеку типов (type1, type2 и т. Д.), И клиенты получают доступ к этой библиотеке типов как обычная библиотека классов.

Ответы [ 2 ]

0 голосов
/ 04 августа 2009

Вы можете создать службу WCF, которую вы поместили между платформой и Biztalk

Реализация Type1.Save () как Type1.SaveType1 () в этом новом сервисе.

Не особенно элегантно, но это сработает.

0 голосов
/ 30 июля 2009

Можете ли вы поместить [ServiceContractAttribute (Namespace = "http://company.com/services/type1/")] на интерфейс типа 1? Использовать разные пространства имен для каждого контракта на обслуживание, поскольку это разные контракты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...