webservice e outlook
Obrigado
Tiago Leite
Tiago Leite
Respostas
Luiz Maia
11/03/2009
Use a seguinte codificação: using System;
namespace Samples
{
class Class1
{
static void Main(string[] args)
{
try
{
// TODO: Substitua esta linha com o caminho de seu arquivo EML ou com a URL de seu Exchange
string sURL = "http:/<ExchServer>/Exchange/<UserAlias>/Contacts/Test.eml";
ADODB.Connection oCn = new ADODB.Connection();
ADODB.Record oRc = new ADODB.Record();
ADODB.Fields oFields;
oCn.Provider = "exoledb.datasource";
oCn.Open(sURL, "", "", 0);
if(oCn.State == 1)
{
Console.WriteLine("Connection Successful");
}
else
{
Console.WriteLine("Connection Unsuccessful");
return;
}
oRc.Open(sURL, oCn,
ADODB.ConnectModeEnum.adModeReadWrite,
ADODB.RecordCreateOptionsEnum.adCreateNonCollection,
ADODB.RecordOpenOptionsEnum.adOpenRecordUnspecified,
"", "");
oFields = oRc.Fields;
oFields["DAV:contentclass"].Value = "urn:content-classes:person";
oFields["http://schemas.microsoft.com/exchange/outlookmessageclass"].Value = "IPM.Contact";
oFields["urn:schemas:contacts:cn"].Value = "Luiz Maia";
oFields["urn:schemas:contacts:nickname"].Value = "Luiz";
oFields["urn:schemas:contacts:title"].Value = "Analista de Sistemas";
oFields["urn:schemas:contacts:department"].Value = "Nome do departamento";
oFields["urn:schemas:contacts:email1"].Value = "luiz.agnelo.maia@gmail.com";
oFields.Update();
oCn = null;
oRc = null;
oFields = null;
}
catch (Exception e)
{
Console.WriteLine(" Exception caught.", e);
}
}
}
} Acima fiz os procedimentos dentro do metodo MAIN, faça um metodo para isto que ira varer sua coleção usando um foreach e substiruir os atributos em verde acima pelos valores pertinentes aos seus contatos. Mais ou menos isto: foreach(DataRow dr in SeuDataTable.Rows) { . . . oFields["urn:schemas:contacts:cn"].Value = dr["nome_contato"].ToString();
oFields["urn:schemas:contacts:nickname"].Value = dr["apelido_contato"].ToString();
oFields["urn:schemas:contacts:title"].Value = dr["titulo_contato"].ToString();
oFields["urn:schemas:contacts:department"].Value = dr["area_contato"].ToString();
oFields["urn:schemas:contacts:email1"].Value = dr["email_contato"].ToString(); . . . } Espero ter ajudado. Aguardo um retorno seu se deu tudo certo. Abraços Tiago Att Luiz Maia
Luiz Maia
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Eu ainda estou tentando resolver, não consegui ainda, te passarei mais detalhado outra duvidas nesse chamado caso não consiga concluir o desenvolvimento
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Eu já adiconei uma nova referencia, queria saber se tenho que criar uma pagina em aspx para usar a codificação que vc passou para dar o ADODB
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Pra mim não aparece o menu Project, eu criei o WS como aplicação web, sera que tem que criar como projeto? Acho melhor eu começar a minha aplicação do começo, não deu certo.
Abraço
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
TEnho o meu WS lendo os dados do banco dedados e montando um XML, estou tentando inserir esses dados em um DataGrid, dai de posse desse datagrid eu iria conseguir inserir no outlook, na verdade eu não estou entendendo muito bem essa logica, terei que inserir no projeto do webservice uma pagina aspx contendo esse datagrid, e criar um "Web reference" e a partir desse datagrid eu iria usa-lo no outlook?
você não tem algo mais completo pra me enviar e eu olhar pra poder entender melhor? pode ser só um exemplo de pegar um xml e inserir num datagrid e enviar para o outlook, a logica de leitura do banco e estrutura final eu monto, só pra eu entender a logica mesmo
Obrigado
Sou meio novo com .net
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
To me enroscando aqui
O que eu colocaria nessa string?
string sURL = "http:/<ExchServer>/Exchange/<UserAlias>/Contacts/Test.eml";
O que colocar no exchange? Preciso dele instalado?
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Dá uma ajudinha, to meio enrolado com webservices, parece ser de boa, mas não estou entendo bem.
Você recomenda algum livro pra estudar isso mais a fundo?
Obrigado
Devmedia
11/03/2009
o consultor não tem acesso ao seu disco virtual. Por isso, vc deve postar o caminho do mesmo.
Tiago Leite
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Devmedia
11/03/2009
quando vc acessa o seu disco virtual, vc clica com o botão direito do mouse no arquivo e escolhe a opção copiar link.
Ao responder o post, vc cola o link. Se mesmo assim não conseguir, por favor, envie o print da tela com o cursor apontado para o arquivo desejado.
Tiago Leite
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Eu estava dando uma olhada e entendi o que foi feito, só fiquei com uma duvida, é gerado um XML no WebService, correto? Quando vc usa esse comando DataTable dt = ws.GetCostumers().Tables[0]; ele entende que o XML é uma tabela e tras cada dado separado? Está dando erro pra mim.
Quanto ao arquivo EML, não achei nenhum arquivo EML, mas achei um chamado extend.data, ele é usado tambem?
Mas e quando eu achar esse arquivo EML, substituo o conteudo inteiro da sURL, por exemplo "C:\Documents and Settings\Tiago\contacts.eml"?
Brigadão cara, to conseguindo compreender a resolução
Abraço
Luiz Maia
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Depois que foi feita essa alteração começou a dar o erro de acesso ao servidor.
Esse erro que está dando, parece coisa bem simples mas não consegui resolver
Abraço
Luiz Maia
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Luiz Maia
11/03/2009
1. Na Área de trabalho, clique duas vezes em Meu computador.
2. No menu Ferramentas, clique em Opções de pasta.
3. Clique na guia Tipos de arquivo.
4. Em Tipos de arquivo registrados, clique em EML Email do Outlook Express e em Avançado.
5. Clique em Open e em Editar.
6. Digite a seguinte linha na caixa Aplicativo usado para executar a ação:
“C:\Arquivos de Programa Files\Outlook Express\MSIMN.EXE” /eml:%1
7. Clique em OK, em OK novamente e em Fechar. PS: Meu outlook é versão 6.0, mas funciona da 5.5 para cima. Para executar o arquivo Msimm com a opção /reg:
1. Feche o Outlook Express.
2. Clique em Iniciar e em Executar.
3. Na caixa Abrir, digite msimn /reg e clique em OK.
Para fazer um novo registro do tipo de arquivo .eml em Meu computador: 1. Na Área de trabalho, clique duas vezes em Meu computador.
2. No menu Ferramentas, clique em Opções de pasta.
3. Clique na guia Tipos de arquivo.
4. Em Tipos de arquivo registrados, clique em EML Email do Outlook Express e em Avançado.
5. Clique em Open e em Editar.
6. Digite a seguinte linha na caixa Aplicativo usado para executar a ação:
"C:\Arquivos de Programa Files\Outlook Express\MSIMN.EXE" /eml:%1
7. Clique em OK, em OK novamente e em Fechar.
Abraços Att Luiz Maia
Tiago Leite
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Luiz Maia
11/03/2009
Tiago Leite
11/03/2009
Ainda não consegui, to achando meio estranho, eu já vi esse arquivo na minha maquina. Vou continuar tentando Obrigado Abraço
Luiz Maia
11/03/2009
Luiz Maia
11/03/2009