soap4juddi 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
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