質問編集履歴

2

require追記

2020/11/25 07:26

投稿

tkshp
tkshp

スコア174

test CHANGED
File without changes
test CHANGED
@@ -68,6 +68,10 @@
68
68
 
69
69
  ```
70
70
 
71
+ require "savon"
72
+
73
+
74
+
71
75
  class Test
72
76
 
73
77
  def execute

1

追記

2020/11/25 07:25

投稿

tkshp
tkshp

スコア174

test CHANGED
File without changes
test CHANGED
@@ -57,3 +57,81 @@
57
57
 
58
58
 
59
59
  Ruby on Rails 6
60
+
61
+
62
+
63
+ #### 追記
64
+
65
+
66
+
67
+ SOAPクライアントのrubyファイル[Railsプロジェクト/sample/test.rb]を下記のように組んでみました。
68
+
69
+ ```
70
+
71
+ class Test
72
+
73
+ def execute
74
+
75
+ client = Savon.client(wsdl: "http://localhost:3000/test_soap?sample.wsdl")
76
+
77
+ client.operations # 使えるオペレーションの一覧がでる
78
+
79
+ response = client.call(:find_user, message: { id: 42 }) # find_userというオペレーションでid 42をとってこいみたいな。
80
+
81
+ response.body # HTTPレスポンスのボディ、hashで値が入っています。
82
+
83
+ puts response
84
+
85
+ end
86
+
87
+ end
88
+
89
+
90
+
91
+ test = Test.new
92
+
93
+ test.execute
94
+
95
+ ```
96
+
97
+
98
+
99
+ すると、下記のエラーが出てしまうのですが、どういった対処をすればよいですか。
100
+
101
+ ```
102
+
103
+ $ rails runner sample/test.rb
104
+
105
+ Traceback (most recent call last):
106
+
107
+ 22: from bin/rails:9:in `<main>'
108
+
109
+ 21: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
110
+
111
+      (省略)
112
+
113
+ 2: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
114
+
115
+ 1: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
116
+
117
+ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': cannot load such file -- savon (LoadError)
118
+
119
+ ```
120
+
121
+
122
+
123
+ 確かめてみると、gemのsavonが入っているような挙動はします。
124
+
125
+ ```
126
+
127
+ $ gem list savon
128
+
129
+
130
+
131
+ *** LOCAL GEMS ***
132
+
133
+
134
+
135
+ savon (2.12.1)
136
+
137
+ ```