dynamics_crm 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dynamics_crm.gemspec +1 -1
- data/lib/dynamics_crm/client.rb +12 -11
- data/lib/dynamics_crm/version.rb +1 -1
- data/lib/dynamics_crm/xml/message_builder.rb +3 -3
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b36fe4188ed46fabe0f74049683a5ba9498e1842
|
4
|
+
data.tar.gz: 616ab5e8a0d26d6a91b99f7dfeb8033852c80edf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43a30dd93693e0a8b4fe60ae61046560d0ec2c9ce50e158e297e6000e4e311579518df3f6ff0eddd07a40f2bd85488c72328d0cd12ec36536388f51f2f3a5f11
|
7
|
+
data.tar.gz: d3055f511ad34189d3451e9b81f71584e7d3ee4e3be73e577c7d220ff98d4777a18a1416feb7d13430df65946c1ba8b7a04f3d3359b6800b9dc00c2000510270
|
data/dynamics_crm.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_runtime_dependency 'curb', '~> 0.8', '>= 0.8.5'
|
22
22
|
spec.add_runtime_dependency 'mimemagic', '~> 0.2', '>= 0.2.1'
|
23
|
-
spec.add_runtime_dependency 'builder', '
|
23
|
+
spec.add_runtime_dependency 'builder', '>= 3.0.0', '< 4.0.0'
|
24
24
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
26
26
|
spec.add_development_dependency 'rake', '~> 10.1'
|
data/lib/dynamics_crm/client.rb
CHANGED
@@ -15,26 +15,27 @@ module DynamicsCRM
|
|
15
15
|
extend Forwardable
|
16
16
|
include XML::MessageBuilder
|
17
17
|
|
18
|
-
# The Login URL and Region are located in the client's Organization WSDL.
|
19
|
-
# https://tinderboxdev.api.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl=wsdl0
|
20
|
-
#
|
21
|
-
# Login URL: Policy -> Issuer -> Address
|
22
|
-
# Region: SecureTokenService -> AppliesTo
|
23
|
-
LOGIN_URL = "https://login.microsoftonline.com/RST2.srf"
|
24
|
-
REGION = 'urn:crmna:dynamics.com'
|
25
|
-
|
26
18
|
attr_accessor :logger, :caller_id
|
27
19
|
|
28
20
|
# Initializes Client instance.
|
29
21
|
# Requires: organization_name
|
30
22
|
# Optional: hostname
|
31
|
-
def initialize(config={organization_name: nil, hostname: nil, caller_id: nil})
|
23
|
+
def initialize(config={organization_name: nil, hostname: nil, caller_id: nil, login_url: nil, region: nil})
|
32
24
|
raise RuntimeError.new("organization_name is required") if config[:organization_name].nil?
|
33
25
|
|
34
26
|
@organization_name = config[:organization_name]
|
35
27
|
@hostname = config[:hostname] || "#{@organization_name}.api.crm.dynamics.com"
|
36
28
|
@organization_endpoint = "https://#{@hostname}/XRMServices/2011/Organization.svc"
|
37
29
|
@caller_id = config[:caller_id]
|
30
|
+
|
31
|
+
|
32
|
+
# The Login URL and Region are located in the client's Organization WSDL.
|
33
|
+
# https://tinderboxdev.api.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl=wsdl0
|
34
|
+
#
|
35
|
+
# Login URL: Policy -> Issuer -> Address
|
36
|
+
# Region: SecureTokenService -> AppliesTo
|
37
|
+
@login_url = config[:login_url] || 'https://login.microsoftonline.com/RST2.srf'
|
38
|
+
@region = config[:region] || 'urn:crmna:dynamics.com'
|
38
39
|
end
|
39
40
|
|
40
41
|
# Public: Authenticate User
|
@@ -50,7 +51,7 @@ module DynamicsCRM
|
|
50
51
|
@username = username
|
51
52
|
@password = password
|
52
53
|
|
53
|
-
soap_response = post(
|
54
|
+
soap_response = post(@login_url, build_ocp_request(username, password, @login_url, @region))
|
54
55
|
|
55
56
|
document = REXML::Document.new(soap_response)
|
56
57
|
# Check for Fault
|
@@ -262,7 +263,7 @@ module DynamicsCRM
|
|
262
263
|
http.ssl_verify_peer = false
|
263
264
|
http.timeout = 60
|
264
265
|
http.follow_location = true
|
265
|
-
http.ssl_version =
|
266
|
+
http.ssl_version = 1
|
266
267
|
# http.verbose = 1
|
267
268
|
end
|
268
269
|
|
data/lib/dynamics_crm/version.rb
CHANGED
@@ -20,7 +20,7 @@ module DynamicsCRM
|
|
20
20
|
# urn:crmna:dynamics.com - North America
|
21
21
|
# urn:crmemea:dynamics.com - Europe, the Middle East and Africa
|
22
22
|
# urn:crmapac:dynamics.com - Asia Pacific
|
23
|
-
def build_ocp_request(username, password)
|
23
|
+
def build_ocp_request(username, password, login_url, region)
|
24
24
|
%Q{
|
25
25
|
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
|
26
26
|
xmlns:a="http://www.w3.org/2005/08/addressing"
|
@@ -31,7 +31,7 @@ module DynamicsCRM
|
|
31
31
|
<a:ReplyTo>
|
32
32
|
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
|
33
33
|
</a:ReplyTo>
|
34
|
-
<a:To s:mustUnderstand="1">#{
|
34
|
+
<a:To s:mustUnderstand="1">#{login_url}</a:To>
|
35
35
|
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
36
36
|
<u:Timestamp u:Id="_0">
|
37
37
|
<u:Created>#{get_current_time}</u:Created>
|
@@ -49,7 +49,7 @@ module DynamicsCRM
|
|
49
49
|
<t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
50
50
|
<wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
51
51
|
<a:EndpointReference>
|
52
|
-
<a:Address>#{
|
52
|
+
<a:Address>#{region}</a:Address>
|
53
53
|
</a:EndpointReference>
|
54
54
|
</wsp:AppliesTo>
|
55
55
|
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamics_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Heth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|
@@ -54,22 +54,22 @@ dependencies:
|
|
54
54
|
name: builder
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 3.2.2
|
60
57
|
- - '>='
|
61
58
|
- !ruby/object:Gem::Version
|
62
|
-
version: 3.
|
59
|
+
version: 3.0.0
|
60
|
+
- - <
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 4.0.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 3.2.2
|
70
67
|
- - '>='
|
71
68
|
- !ruby/object:Gem::Version
|
72
|
-
version: 3.
|
69
|
+
version: 3.0.0
|
70
|
+
- - <
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 4.0.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: bundler
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|