sicam mis como aplicaciones agregar afip web-services ms-word office-2010 word-2010

web services - mis - ¿Hay alguna manera de agregar servicios web personalizados a Word 2010 a través del Panel de investigación?



como agregar sicam en afip (1)

Me he estado preguntando si puedo agregar servicios web personalizados con la extensión de archivo wsdl o asmx a través del Panel de investigación en Microsoft Word 2010. He buscado casi todos los sitios que tienen esos servicios, pero no encontré instrucciones para encontrar suerte. En lugar de prueba y error, me sentí más seguro si le preguntaba a alguien aquí.

Básicamente, lo que me gustaría hacer es agregar un sitio como http://www.ebi.ac.uk/Tools/webservices/wsdl o alguna otra fuente y poder enviar consultas a través del panel de búsqueda.


Comience leyendo este http://msdn.microsoft.com/en-us/library/bb226691(v=office.11).aspx

A continuación, el atajo de abajo (no es perfecto, y la búsqueda real no está implementada, pero espero que ayude)

1 interfaz de servicio

namespace CustomResearchServiceWCF { [ServiceContract(Namespace="urn:Microsoft.Search")] public interface IOfficeResearchService { [OperationContract(Action = "urn:Microsoft.Search/Registration")] string Registration(string regXML); [OperationContract(Action = "urn:Microsoft.Search/Query")] string Query(string queryXml); }

}

2 Implementación

namespace CustomResearchServiceWCF { public class OfficeResearchService : IOfficeResearchService { public string Registration(string regXML) { var providerUpdate = new ProviderUpdate(); var writerSettings = new XmlWriterSettings {OmitXmlDeclaration = true,Indent=true}; var stringWriter = new StringWriter(); var serializer = new XmlSerializer(typeof(ProviderUpdate)); using (var xmlWriter = XmlWriter.Create(stringWriter, writerSettings)) { serializer.Serialize(xmlWriter, providerUpdate); } return stringWriter.ToString(); } public string Query(string queryXml) { throw new NotImplementedException(); } }}

3 ProviderUpdate, ResearchService y licencia

namespace CustomResearchServiceWCF { public class License { [XmlAttribute(AttributeName = "acceptRequired")] public bool AcceptRequired; public string LicenseText { get; set; } public License() { LicenseText = "some licensing information"; AcceptRequired = true; } } public class Provider { public string Message { get; set; } public License License { get; set; } public string Id { get; set; } public string Name { get; set; } public string QueryPath { get; set; } public string RegistrationPath { get; set; } public string Type { get; set; } public string AboutPath { get; set; } [XmlAttribute] public string Action { get; set; } [DataMember] public List<ResearchService> Services; public Provider() { Type = "SOAP"; License = new License(); Services = new List<ResearchService> { new ResearchService { Id = "{942F685E-0935-42c8-80C5-95DB0D129910}", Name = "Service", Description = "Custom Research Service", Copyright = "All content Copyright (c) 2003", Display = "ON" } }; } } [XmlType("Service")] public class ResearchService { /// <summary> /// The GUID that is used when the Query function is called to differentiate a response from your Research service from a response from another Research service /// </summary> public string Id { get; set; } /// <summary> /// The name displayed in the Research task pane''s Show Results From dropdown /// </summary> public string Name { get; set; } /// <summary> /// //The description displayed in the Properties dialog box for the service /// </summary> public string Description { get; set; } public string Copyright { get; set; } //Either On or Off; indicates whether the service should be displayed in the Show Results From dropdown. public string Display { get; set; } /// <summary> /// The category with which the service should be grouped in the Show Results From dropdown and the Research options dialog box. See the Microsoft.Search.Registration.Response schema for a list of all the choices. /// </summary> public string Category { get; set; } public ResearchService() { Category = "RESEARCH_GENERAL"; } } [XmlRoot(Namespace = "urn:Microsoft.Search.Registration.Response")] public class ProviderUpdate { public string Status { get; set; } public List<Provider> Providers; public ProviderUpdate() { Status = "SUCCESS"; Providers = new List<Provider> { new Provider { Message = "Congratulations! You''ve registered Research Pane Examples!", Action = "UPDATE", Id = "{942F685E-0935-42c8-80C5-95DB0D129910}", Name = "Wiktionary", QueryPath = "http://services.highbeam.com/office/office.asmx", RegistrationPath = "http://services.highbeam.com/office/office.asmx", AboutPath = "http://www.highbeam.com" } }; } } }