soap4juddi 0.1.16 → 0.1.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4474b9d72abaa53ee40ccbb947994b31ffab0f0d
4
- data.tar.gz: 6f5bd6a1720d6ed4b33e10415ac80fbf297fc683
3
+ metadata.gz: 63b7ba4fd1ca7454d882986406bec8d63a549c85
4
+ data.tar.gz: 18445ab17e4d243320447aa39783a463325db4a6
5
5
  SHA512:
6
- metadata.gz: 753b5d349406e8f666527744ff756f5742281df49149070562aed44174fb4ce970b7736a68e4270a66976b912e708d8366059ded74acd6a5041ca6f56fcea680
7
- data.tar.gz: 2ec97209e00b0bfa1722ad6cd502cd5c60f7abaa2c015c807f20639b08a5c89e1e636f61882511c61574cffb89367b08e992fab6648885b0ac774bb910109fc0
6
+ metadata.gz: 0497a9b0b8c9e9aa16f013e9af57bce2a59c08f55856e67b0bc331da13879a3fad1d9defee42412de494de28958d98c0317f7890adb7a90395ea41a079c9e11d
7
+ data.tar.gz: e6e4f2a83c1d3be863d5bf11857882e06735d00bfa2f56578ae8d600ec711399d8547266919699f4f2c6e22d40a53acdf3a2abbd50a027231e338a84cd06f4c6
@@ -16,9 +16,8 @@ module Soap4juddi
16
16
 
17
17
  def save_element_bindings(service, bindings, urn, description)
18
18
  validate_elements(bindings, 'bindings')
19
- body = auth_body
20
- body = add_bindings(body, service, bindings, urn, description)
21
- @soap_connector.request_soap(@base_uri, 'publishv2', 'save_binding', body) do | res|
19
+ body = add_bindings("", service, bindings, urn, description)
20
+ @soap_connector.request_soap(@base_uri, 'publishv2', 'save_binding', add_auth_body(body)) do | res|
22
21
  res.body
23
22
  end
24
23
  end
@@ -29,7 +28,7 @@ module Soap4juddi
29
28
  body = build_business_entity(key, name, descriptions, contacts)
30
29
  @soap_connector.request_soap(@base_uri,
31
30
  'publishv2', 'save_business',
32
- "#{auth_body} #{body}") do | res|
31
+ add_auth_body(body)) do | res|
33
32
  extract_business(res.body)
34
33
  end
35
34
  end
@@ -50,8 +49,7 @@ module Soap4juddi
50
49
 
51
50
  def delete_business(key)
52
51
  xml = @soap_xml.element_with_value('businessKey', key)
53
- @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_business',
54
- "#{auth_body} #{xml}") do |res|
52
+ @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_business', add_auth_body(xml)) do |res|
55
53
  { 'errno' => extract_errno(res.body) }
56
54
  end
57
55
  end
@@ -78,7 +76,7 @@ module Soap4juddi
78
76
 
79
77
  def delete_binding(binding)
80
78
  xml = @soap_xml.element_with_value('bindingKey', binding)
81
- @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_binding', "#{auth_body} #{xml}") do |res|
79
+ @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_binding', add_auth_body(xml)) do |res|
82
80
  { 'errno' => extract_errno(res.body) }
83
81
  end
84
82
  end
@@ -94,36 +92,15 @@ module Soap4juddi
94
92
  end
95
93
 
96
94
  def save_service_element(name, description, definition, urn, business_key)
97
- # preserve bindings
98
95
  bindings = find_element_bindings_access_points(name, urn)['data']['result']
99
-
100
- service_details = @soap_xml.element_with_value('name', name)
101
- if description
102
- description.each do |desc|
103
- service_details = service_details + @soap_xml.element_with_value('description', desc, { 'xml:lang' => 'en' }) if desc and not (desc == "")
104
- end
105
- end
106
- if definition and not (definition.strip == "")
107
- keyedReference = @soap_xml.element_with_value('keyedReference', '', {'tModelKey' => 'uddi:uddi.org:wadl:types', 'keyName' => 'service-definition', 'keyValue' => definition})
108
- service_details = service_details + @soap_xml.element_with_value('categoryBag', keyedReference)
109
- end
110
- xml = @soap_xml.element_with_value('businessService', service_details, {'businessKey' => business_key, 'serviceKey' => "#{urn}#{name}"})
111
-
112
- body = "#{auth_body} #{xml}"
113
-
114
- result = @soap_connector.request_soap(@base_uri, 'publishv2', 'save_service', body) do | res|
115
- extract_service(res.body)
116
- end
117
-
118
- #restore bindings
96
+ result = save_service_element_with_side_effect_which_clears_bindings(name, description, definition, urn, business_key)
119
97
  save_element_bindings(name, bindings, urn, '')
120
-
121
98
  result
122
99
  end
123
100
 
124
101
  def delete_service_element(name, urn)
125
102
  service_key = @soap_xml.element_with_value('serviceKey', "#{urn}#{name}")
126
- @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_service', "#{auth_body} #{service_key}") do |res|
103
+ @soap_connector.request_soap(@base_uri, 'publishv2', 'delete_service', add_auth_body(service_key)) do |res|
127
104
  { 'errno' => extract_errno(res.body) }
128
105
  end
129
106
  end
@@ -144,6 +121,25 @@ module Soap4juddi
144
121
 
145
122
  private
146
123
 
124
+ def save_service_element_with_side_effect_which_clears_bindings(name, description, definition, urn, business_key)
125
+ xml = build_service_xml(name, description, definition, urn, business_key)
126
+ result = @soap_connector.request_soap(@base_uri, 'publishv2', 'save_service', add_auth_body(xml)) do | res|
127
+ extract_service(res.body)
128
+ end
129
+ result
130
+ end
131
+
132
+ def build_service_xml(name, description, definition, urn, business_key)
133
+ service_details = @soap_xml.element_with_value('name', name)
134
+ service_details = add_descriptions(service_details, description)
135
+ service_details = add_definition(service_details, definition)
136
+ @soap_xml.element_with_value('businessService', service_details, {'businessKey' => business_key, 'serviceKey' => "#{urn}#{name}"})
137
+ end
138
+
139
+ def add_auth_body(body)
140
+ body = auth_body + body
141
+ end
142
+
147
143
  def extract_service_entries_elements(soap, urn)
148
144
  entries = {}
149
145
  entry = soap[/<ns2:serviceInfos>(.*?)<\/ns2:serviceInfos>/, 1]
@@ -175,6 +171,14 @@ module Soap4juddi
175
171
  end
176
172
  { 'businesses' => entries }
177
173
  end
174
+
175
+ def add_definition(body, definition)
176
+ if definition and not (definition.strip == "")
177
+ keyedReference = @soap_xml.element_with_value('keyedReference', '', {'tModelKey' => 'uddi:uddi.org:wadl:types', 'keyName' => 'service-definition', 'keyValue' => definition})
178
+ return body + @soap_xml.element_with_value('categoryBag', keyedReference)
179
+ end
180
+ body
181
+ end
178
182
 
179
183
  def add_descriptions(body, descriptions)
180
184
  if (descriptions) and (not descriptions.empty?)
@@ -1,3 +1,3 @@
1
1
  module Soap4juddi
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.17"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soap4juddi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernst van Graan