Microsoft Dynamics GP Workflow Third Edition Now Available as eBook and Paperback

Microsoft Dynamics GPMy seventh book is now available to buy in eBook format from azurecurve Publishing, paperback and Kindle versions from Amazon US and UK.

This is a new update to the Workflow book I’ve written a couple of prior editions over the last few years. This edition includes coverage of the new functionality introduced in Microsoft Dynamics GP 2018, and four additional chapters on customizing the workflow notification emails and securing web services, and some chapters and sections have been rewritten to either expand or make clearer the topics being covered.

eBook Paperback
azurecurve Amazon US Amazon UK

Continue reading “Microsoft Dynamics GP Workflow Third Edition Now Available as eBook and Paperback”

Microsoft Dynamics GP Workflow Third Edition Now Available as eBook (Paperback coming soon)

Microsoft Dynamics GPMy seventh book is now available to buy in eBook format from azurecurve Publishing (paperback and Kindle versions coming soon).

This is a new update to the Workflow book I’ve written a couple of prior editions over the last few years. This edition includes coverage of the new functionality introduced in Microsoft Dynamics GP 2018, and four additional chapters on customizing the workflow notification emails and securing web services, and some chapters and sections have been rewritten to either expand or make clearer the topics being covered.

eBook

Continue reading “Microsoft Dynamics GP Workflow Third Edition Now Available as eBook (Paperback coming soon)”

MDGP 2018 R2 Feature of the Day: Sales Transaction Approval Workflow

Microsoft Dynamics GPThe Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP 2018 R2 on which I am following and adding commentary. The series index for this series of posts is here.

The second Feature of the Day is Sales Transaction Approval Workflow:

Workflow Maintenance

With this new workflow type, available in the Workflow Maintenance window (Administration area page » Setup » Company » Workflow » Workflow Maintenance) you can set approval all Sales Order Processing transaction types including approvals based on customer credit limits

Standard Workflow functionality, notification and action emails as well as visible workflow history on enquiry windows, is available for this workflow type.

If you’re reading this post, then you must be aware that Workflow is one of my favourite areas of the system. As such, I am always happy to see Workflow introduced into new areas; especially when, as with this Sales Transaction Approval Workflow, it is one I have had several customers ask about ever since Workflow was first introduced.

Click to show/hide the MDGP 2018 R2 Feature of the Day Series Index

Enabling Secure Connection for Web Services: Configure Workflow Setup

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

With Web Services now configured for secure connections, the final step in the configuration is to amend the Workflow setup. This is done via the Workflow Setup window (Administration area page » Setup » System » Workflow Setup); despite this being on the System part of the menu, it is actually a Company window so any changes made will need to be repeated in all companies using Workflow.

There are two settings which need to be changed; both of them in the Enable E-Mail Actions section.

Change the Server Name to the externally accessible DNS hostname, change the Port to the relevant port and mark the This server requires a secure connection (SSL):

Workflow Setup

Continue reading “Enabling Secure Connection for Web Services: Configure Workflow Setup”

Enabling Secure Connection for Web Services: Final Service Configuration

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

Over the last few posts, I’ve stepped through the changes to the Web Service configuration files. With all of these changes made, there are a small number of steps to now complte, or confirm as complete.

Firstly, as the configuration files have been changed, the Microsoft Dynamics GP Service Host needs to be restarted. This can be done via the Services control panel applet.

Secondly, ensure the firewall port for the secure port is configured to allow access.

Thirdly, I’d recommend verifying the Web Services are working correctly; when you test the services, use the updated paths for https access:

  • https://server.msdynamicsgp.co.uk:48666/DynamicsGPWebServices
  • https://server.msdynamicsgp.co.uk:48666/Dynamics/GPService

Click to show/hide the Enabling Secure Connection for Web Services Series Index

Enabling Secure Connection for Web Services: Update GP Workflow Service

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is a href=’There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is WSBindings.config, the second is the legacy endpoint config file, DynamicsGPLegacy.config, the second is the legacy endpoint config file, DynamicsGP.config and the fourth, being covered in this post, is the GP Workflow Service configuration file, GPWorfklowService.config, which is, by default, located in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs.

There are two elements which need to be updated in the services node:

  1. Change the bindingConfiguration node from WebHttpBindingTarget to WebHttpBindingTargetSSL.
  2. Add a new https baseAddress line using the new port and the externally accessible DNS hostname:
    <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/Dynamics/GPService/rest"/>
      <service name="Microsoft.Dynamics.GP.WebServices.WorkflowActionRenderingEngineContract.WorkflowActionRenderingEngine">
        <endpoint behaviorConfiguration="GPWorkflowService.RestBehavior" binding="webHttpBinding" bindingConfiguration="WebHttpBindingTargetSSL" contract="Microsoft.Dynamics.GP.WebServices.WorkflowActionRenderingEngineContract.IWorkflowActionRenderingEngine"/>
        <endpoint name="aad" address="aad" behaviorConfiguration="GPWorkflowService.AzureRestBehavior" binding="webHttpBinding" contract="Microsoft.Dynamics.GP.WebServices.WorkflowActionRenderingEngineContract.IWorkflowActionRenderingEngine" bindingConfiguration="WebHttpBindingNoSecurity"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://SERVER:48620/Dynamics/GPService/rest"/>
            <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/Dynamics/GPService/rest"/>
          </baseAddresses>
        </host>
      </service>

Continue reading “Enabling Secure Connection for Web Services: Update GP Workflow Service”

Enabling Secure Connection for Web Services: Update Native Endpoint

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is a href=’There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is WSBindings.config; the second is the legacy endpoint config file, DynamicsGPLegacy.config and the third, being covered in this post, is the native endpoint configuration file, DynamicsGP.config, which is, by default, located in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs.

There are three elements which need to be updated in the services node:

  1. Change the behaviorConfiguration node from GPLegacyStaticMetadataBehavior to GPDynamicMetadataBehavior.
  2. Change the bindingConfiguration node from WSHttpBindingTarget to WSHttpBindingTargetSSL.
  3. Add a new https baseAddress line using the new port and the externally accessible DNS hostname:
    <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/Dynamics/GPService"/>
<service name="Microsoft.Dynamics.GP.WebServices.Contract.DynamicsGP" behaviorConfiguration="GPDynamicMetadataBehavior">
        <endpoint address="Mex" name="http" binding="customBinding" bindingConfiguration="CustomBinding" contract="IMetadataExchange"/>
        <endpoint address="GPService" name="GPWebService" binding="wsHttpBinding" bindingConfiguration="WSHttpBindingTargetSSL" contract="Microsoft.Dynamics.GP.WebServices.Contract.IGPServices"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://SERVER:48620/Dynamics/GPService"/>
            <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/Dynamics/GPService"/>
          </baseAddresses>
        </host>
      </service>

Continue reading “Enabling Secure Connection for Web Services: Update Native Endpoint”

Enabling Secure Connection for Web Services: Update Legacy Endpoint

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is a href=’There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is WSBindings.config; the second is the legacy endpoint config file, DynamicsGPLegacy.config which is, by default, located in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs.

There are three elements which need to be updated in the services node:

  1. Change the behaviorConfiguration node from GPLegacyStaticMetadataBehavior to GPDynamicMetadataBehavior.
  2. Change the bindingConfiguration node from BasicHttpBindingTarget to BasicHttpBindingTargetSSL.
  3. Add a new https baseAddress line using the new port and the externally accessible DNS hostname:
    <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/DynamicsGPWebServices"/>
   <services>
      <service name="Microsoft.Dynamics.GP.WebServices.LegacyContract.DynamicsGP" behaviorConfiguration="GPDynamicMetadataBehavior">
        <endpoint address="Mex" name="http" binding="customBinding" bindingConfiguration="CustomBinding" contract="IMetadataExchange"/>
        <endpoint address="DynamicsGPService.asmx" name="LegacyDynamicsGP" binding="basicHttpBinding" bindingConfiguration="BasicHttpBindingTargetSSL" contract="Microsoft.Dynamics.GP.WebServices.LegacyContract.IGPServicesLegacy"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://SERVER:48620/DynamicsGPWebServices"/>
            <add baseAddress="https://SERVER.msdynamicsgp.co.uk:48666/DynamicsGPWebServices"/>
          </baseAddresses>
        </host>
      </service>
    </services>

Continue reading “Enabling Secure Connection for Web Services: Update Legacy Endpoint”

Enabling Secure Connection for Web Services: Update Bindings

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

There are several configuration files which need to be amended to enable a secure connection for Web Services. The first is WSBindings.config which is, by default, located in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs.

There are three sections of this config file which need to be amended, but before making any changes, take a backup of the entire file.

The first section is the basicHttpBinding section. Replicate the BasicHttpBindingTarget binding:

  • Change the name by appending SSL
  • Change the security mode to Transport
  <basicHttpBinding>
    <binding name="BasicHttpBindingTarget" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm"/>
      </security>
    </binding>
    <binding name="BasicHttpBindingTargetSSL" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
      <security mode="Transport">
        <transport clientCredentialType="Ntlm"/>
      </security>
    </binding>
  </basicHttpBinding>
basicHttpBinding

Continue reading “Enabling Secure Connection for Web Services: Update Bindings”

Enabling Secure Connection for Web Services: Update Certificate Binding

Microsoft Dynamics GPThis post is part of the Enabling Secure Connection for Web Services series.

The first step in enabling a secure connection for web services, is to bind the certificate to the port which will be used for secure access. As mentioned in the last post, I am using port 48666.

There are two commands which need to be run to bind the certificate; these need to be run via an elevated command prompt.

The first command registers the certificate for the new port; there are three parameters (highlighted) which need to be changed in the command:

  1. Port
  2. certhas which is the certificate thumbnail
  3. appid which is an arbitrary GUID; I generated a GUID using the SQL Server NEWID() command

Continue reading “Enabling Secure Connection for Web Services: Update Certificate Binding”