Publicando Orchestration como Serviço - WCF-BasicHttp | BizTalk Brasil
Publicando Orchestration como Serviço - WCF-BasicHttp
Olá Pessoal, Hoje vou mostrar como transformar uma orchestration em um serviço WCF e configurar esse serviço para trabalhar com autenticação básica do usuário.
Sobre o WCF, o Richard Seroter escreveu uma série de artigos que vale a pena serem conferidos. O Biztalk disponibiliza vários adaptadores baseados em WCF, e já falamos bastante sobre alguns deles por aqui, como o WCF-Oracle, o WCF-SQL e o WCF-SAP. Mas ainda faltava falar sobre o WCF-BasicHttp. Esse adaptador é o mais indicado quando precisamos nos comunicar com plataformas que não são .NET através da internet e é o que promove mais compatibilidade.
Publicando o Projeto no GAC.
Primeiro vou criar um projeto dummy, só para poder publicá-lo como WCF.
Ao criar a Receive Logical Port, a propriedade Type Modifier da Port Type tem que estar como Public.
Feito isso já podemos usar o Wizard que irá publicar essa Orchestration.
Clique em Tools –>; Biztalk WCF Service Publish Wizard, para abrir o Wizard Clique em Next. Na opção Adapter Name, escolha WCF-BasicHttp Habilite a opção Enable on-premise metadata exchange. Se quiser que o Wizard crie a Receive Location deixe essa opção habilitada. Clique em Next. Deixe a primeira opção Publish Biztalk Orchestration as WCF Service habilitada. Clique em Next. Procure pela Dll do projeto. Clique em Next. Clique em Next. Aqui ele sugere colocar o namespace http://tempuri.org/, mas eu costumo colocar o nome do projeto.
Clique em Next. Deixe a opção Allow anonymous acces to WCF service desmarcada. Clique em Next. Clique em Next. Clique em Create. Configurando a Autenticação do Usuário
O WCF permite diversas formas de autenticação do usuário. Optei pela mais simples, que é a Basic Authentication, onde o usuário deve ser um usuário da rede, criado no AD e deve passar o seu usuário e senha na chamada do serviço.
Depois de feito o Deploy do projeto e publicarmos a Orchestration como um serviço, devemos ir no Biztalk Administration Console.
Podemos notar que uma Receive Port e Receive Location foram criadas.
Clique 2x nessa porta para alterá-la. No Adaptador WCF-BasicHttp clique em Configure. Na aba Security, na opção Security mode, escolha TransportCredentialOnly. Na opção Transport client credential type, escolha Basic. Clique em OK. Abra o IIS. Clique em Iniciar –>; Todos os Programas –>; Ferramentas Administrativas e em Internet Information Service (IIS) Manager. Clique em cima do projeto e em Feature View. Clique 2x em Authentication. Depois clique com o botão direito em cima de Basic Authentication e em Enable. Está feito.
Ao tentar acessar o Serviço pelo Browser Internet Explorer, vai aparecer uma telinha para colocar o nome do usuário e senha.