Using ilove SharePoint Web Services Workflow Action



Similar documents
Web-Service Example. Service Oriented Architecture

See the Developer s Getting Started Guide for an introduction to My Docs Online Secure File Delivery and how to use it programmatically.

Freight Tracking Web Service Implementation Guide

Capturx for SharePoint 2.0: Notification Workflows

Qualtrics Single Sign-On Specification

Setup Corporate (Microsoft Exchange) . This tutorial will walk you through the steps of setting up your corporate account.

The BritNed Explicit Auction Management System. Kingdom Web Services Interfaces

Recurring Payments Manual

Threat Advisory: Atlassian Crowd (CVE )

HarePoint Workflow Extensions for Office 365. Quick Start Guide

Absorb Single Sign-On (SSO) V3.0

CHAPTER 10: WEB SERVICES

HOBOlink Web Services V2 Developer s Guide

Dev Guide for Encrypted Swipe

HTTPS GATEWAY INSTRUCTIONS

Microsoft Active Directory Oracle Enterprise Gateway Integration Guide

Web Services API Developer Guide

Software Engineering 1 EEL5881 Spring Homework - 2

How To Use Blackberry Web Services On A Blackberry Device

NeoMail Guide. Neotel (Pty) Ltd

Web Application Report

DocuSign Connect Guide

Brekeke PBX Web Service

Owner of the content within this article is Written by Marc Grote

Save Actions User Guide

SharePoint Integration

Managing Qualys Scanners

Reference and Troubleshooting: FTP, IIS, and Firewall Information

Hosted Credit Card Forms Implementation Guide

Oracle Web Service Manager 11g Field level Encryption (in SOA, WLS) March, 2012

ADFS Integration Guidelines

Managed Rebill web services

Single Sign-On Implementation Guide

Call Detail Record Access Service Part No R01

CONFIGURING AND USING WEBDAV IN LENOVO EMC LIFELINE

Citrix Receiver for Mobile Devices Troubleshooting Guide

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Section 1, Configuring Access Manager, on page 1 Section 2, Configuring Office 365, on page 4 Section 3, Verifying Single Sign-On Access, on page 5

Onset Computer Corporation

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH CITRIX PRESENTATION SERVER 3.0 AND 4.5

Alfresco Share SAML. 2. Assert user is an IDP user (solution for the Security concern mentioned in v1.0)

FTP, IIS, and Firewall Reference and Troubleshooting

Penetration Testing Corporate Collaboration Portals. Giorgio Fedon, Co-Founder at Minded Security

Overview of Web Services API

PathwayLINK Recurring Billing Document Version 1.7 Published NOV 2011

365 Services. 1.1 Configuring Access Manager Prerequisite Adding the Office 365 Metadata. docsys (en) 2 August 2012

Sage CRM. Sage CRM 2016 R1 Web Services Guide

Integrating Siebel CRM with Microsoft SharePoint Server

Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

Background Deployment 3.1 (1003) Installation and Administration Guide

Migration Manual (For Outlook 2010)

Quick Reference Guide PAYMENT GATEWAY (Virtual Terminal)

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

MadCap Software. Upgrading Guide. Pulse

Version: 1. Cellfind_MPG SDK Technical Specification

Identity and Access Management (IdAM) Security Access Framework (SAF) for CDSS

How To Develop A Mobile Application On Sybase Unwired Platform

Custom Encryption in Siebel & Siebel Web Service Security Test Guide 1.0

AWS Directory Service. AD Connector Administration Guide Version 1.0

Microsoft Dynamics CRM Server 2011 software requirements

Kaseya 2. User Guide. Version 6.1

Using Internet or Windows Explorer to Upload Your Site

RoomWizard Synchronization Software Manual Installation Instructions

The increasing popularity of mobile devices is rapidly changing how and where we

SINGLE SIGNON FUNCTIONALITY IN HATS USING MICROSOFT SHAREPOINT PORTAL

Merchant Warehouse Credit Card Integration Gym Assistant August 2009

CA Performance Center

October P Xerox App Studio. Information Assurance Disclosure. Version 2.0

How to Pop to Outlook

How to hack VMware vcenter server in 60 seconds

Java Access to Oracle CRM On Demand. By: Joerg Wallmueller Melbourne, Australia

MY HELPDESK - END-USER CONSOLE...

R i o L i n x s u p p o r r i o l i n x. c o m 1 / 3 0 /

Migration Manual (For Outlook Express 6)

MONETA.Assistant API Reference

Cisco TelePresence Content Server

USER GUIDE. Snow Inventory Client for Unix Version Release date Document date

NetBrain Security Guidance

Single Sign-On Implementation Guide

Single Sign-On Implementation Guide

Logging In You must log in to the system before you can begin exchanging files with UMB. To log in to the system, follow the steps below.

Aras Innovator Authentication Setup

Enhanced Password Security - Phase I

Accessing the Media General SSL VPN

Association Anywhere Authentication Web Service

Introduction to Object-Oriented Programming

Secure Messaging Server Console... 2

1. Open the preferences screen by opening the Mail menu and selecting Preferences...

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

Connecting Software. CB Mobile CRM Windows Phone 8. User Manual

Revision Action/Change Date. A Sentinel Cloud 3.0 Release December 2012 B Sentinel Cloud 3.1 Release April 2013 C

How to Create a Basic VPN Connection in Panda GateDefender eseries

Building a Custom User Manager

Send your request via a SOAP-Request (e.g. with DotNET/SOAP, Java, PHP) to he following URL of our server:

A SharePoint Developer Introduction

SortSite Enterprise Deployment Guide v1.1.13

Transcription:

Using ilove SharePoint Web Services Workflow Action This guide describes the steps to create a workflow that will add some information to Contacts in CRM. As an example, we will use demonstration site http://demo.splendidcrm.com with login will and password will. We will add new contact with person s name, last name and email. ilove SharePoint workflow action for calling web services is working only with http by default. In order to make it working with https, you will need to change its code slightly (this step is not necessary see appendix at the end of this guide). ilove SharePoint workflow actions can be downloaded from the following link: http://ilovesharepoint.codeplex.com/ Page 1 of 3

Creating a new workflow Step 1. Add Call a Web Service from the Action menu: This will be our workflow with only one action. It has the following fields: URL SOAP Version SOAP Action SOAP name password Target site URL Version of SOAP request Action of used SOAP request XML SOAP envelope Account name Account password Step 2. Fill the action with data: Above shown action in single. 1) http://demo.splendidcrm.com/soap.asmx - it is site URL (http://demo.splendidcrm.com) + SOAP request receiver (soap.asmx); List of SOAP requests is also located at the following URL: http://demo.splendidcrm.com/soap.asmx Every CRM has a list of SOAP requests in request receiver, but requests structure may slightly differ. 2) SOAP Version SOAP 1.1 ; 3) SOAP Action add the following action: http://www.sugarcrm.com/sugarcrm/create_contact - it is site URL + SOAP action (sugarcrm/create_contact); Page 2 of 3

4) SOAP add the following envelope: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.sugarcrm.com/sugarcrm" xmlns:types="http://www.sugarcrm.com/sugarcrm/encodedtypes" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body soap:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"> <tns:create_contact> <user_name xsi:type="xsd:string">will</user_name> <password xsi:type="xsd:string">18218139eec55d83cf82679934e5cd75</password> <first_name xsi:type="xsd:string">luke</first_name> <last_name xsi:type="xsd:string">walker</last_name> <email_address xsi:type="xsd:string">luke@wal.com</email_address> </tns:create_contact> </soap:body> </soap:envelope> This XML envelope will create a new contact with the following entries: <first_name xsi:type="xsd:string">luke</first_name> <last_name xsi:type="xsd:string">walker</last_name> <email_address xsi:type="xsd:string">luke@wal.com</email_address> Name Last name E-mail address Luke Walker luke@wal.com There is no need to create a separate login request before this one. It will authenticate user before creating a new contact: <user_name xsi:type="xsd:string">will</user_name> <password xsi:type="xsd:string">18218139eec55d83cf82679934e5cd75</password> The account we use in this example has password will, but in envelope it has been used combination of symbols. This is because password must be encrypted with MD5. The action must be done manually: in this case will be used console application that will scan user entered password and return its encrypted version. Here is the result on encrypting will : Page 3 of 3

Full code of this console application: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace passwordencription class Program static void Main(string[] args) string pass = Console.ReadLine(); string rez = GetMD5Hash(pass, false); Console.WriteLine(rez); Console.ReadLine(); public static string GetMD5Hash(string value, bool uppercase) // Instantiate new MD5 Service Provider to perform the hash System.Security.Cryptography.MD5CryptoServiceProvider md5serviceprodivder = new System.Security.Cryptography.MD5CryptoServiceProvider(); // Get a byte array representing the value to be hashed and hash it byte[] data = System.Text.Encoding.ASCII.GetBytes(value); data = md5serviceprodivder.computehash(data); // Get the hashed string value StringBuilder hashedvalue = new StringBuilder(); for (int i = 0; i < data.length; i++) hashedvalue.append(data[i].tostring("x2")); // Return the string in all caps if desired if (uppercase) return hashedvalue.tostring().toupper(); return hashedvalue.tostring(); 5) Response, name and password fields stay blank because we do not need to save returned response. Name and password have been sent in request s envelope. Step 3. Save workflow and deploy it. Page 4 of 3

Checking results Step 1. Run the workflow manually or from any kind of event. Step 2. Log in to http://demo.splendidcrm.com using account name will and password will : Step 3. Go to the Contacts section: Step 4. Check results: As can be seen, the new contact has been added. Page 5 of 3

Appendix Changing workflow action code to make it work with HTTPS The problem is in SSL Certificate checking while connecting to the server using this workflow action. This problem can be solved by adding Certificate Validation to code in CallWebServiceActivity.cs class: ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValida tioncallback(delegate return true; ); This code must be placed before any attempting to connect the server. Workflow Execute function: protected override ActivityExecutionStatus Execute(ActivityExecutionContext execution Context) SPSecurity.RunWithElevatedPrivileges(delegate() WebClient webclient = new WebClient(); if(soapversion==soap12) webclient.headers[httprequestheader.contenttype] = "application/s oap+xml; charset=utf-8"; else webclient.headers[httprequestheader.contenttype] = "text/xml; cha rset=utf-8"; webclient.headers["soapaction"] = Action; if (String.IsNullOrEmpty(User)) webclient.usedefaultcredentials = true; else webclient.credentials = new NetworkCredential(User, Password); Activity parent = executioncontext.activity; while (parent.parent!= null) parent = parent.parent; Response = webclient.uploadstring(address, Helper.ProcessStringField( Envelope, parent, this. Context)); ); return ActivityExecutionStatus.Closed; Page 6 of 3

Certificate Validation must be placed at the start of function, in this case after webclient declaration: SPSecurity.RunWithElevatedPrivileges(delegate() WebClient webclient = new WebClient(); ServicePointManager.ServerCertificateValidationCallback = new RemoteC ertificatevalidationcallback(delegate return true; ); if(soapversion==soap12) webclient.headers[httprequestheader.contenttype] = "application/s oap+xml; charset=utf-8"; else webclient.headers[httprequestheader.contenttype] = "text/xml; cha rset=utf-8"; Add reference for RemoteCertificateValidationCallback : using System.Net.Security; Page 7 of 3