jx_client 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +20 -0
- data/Gemfile +20 -0
- data/LICENSE +20 -0
- data/README.md +105 -0
- data/Rakefile +12 -0
- data/bin/console +12 -0
- data/bin/setup +8 -0
- data/lib/jx_client/confirm_document.rb +41 -0
- data/lib/jx_client/get_document.rb +44 -0
- data/lib/jx_client/get_document_result.rb +30 -0
- data/lib/jx_client/operation_base.rb +82 -0
- data/lib/jx_client/put_document.rb +45 -0
- data/lib/jx_client/version.rb +5 -0
- data/lib/jx_client.rb +109 -0
- data/wsdl/jx2004.wsdl.xml +324 -0
- data/wsdl/jx2007.wsdl.xml +334 -0
- metadata +77 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: eb0f84dadd50ce0828df7d72cc3f84e005cf8353587daf05c95b4727e5de307a
|
4
|
+
data.tar.gz: 1741590397905bdcde1ac73c47fffcb4c6e37801f71fddfaccbd3aa725971878
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c88af32aaa73975cb45c5f6f512dd03ff045823e1cca7bed86afc0725e31d936cd17841ebcfe39af65c562c4afbe8608588720417dcfac9c439becd0f14e8a65
|
7
|
+
data.tar.gz: 4232f71a6ee505d42c09d11a168e74871f2ad8cd656f0874b54509b34b2bbb7a3770d0a16f4d356aa495c098dc1b55292a4f2774a8d297c113d04ae15547caaf
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.6
|
3
|
+
NewCops: enable
|
4
|
+
|
5
|
+
inherit_gem:
|
6
|
+
rubocop-shopify: rubocop.yml
|
7
|
+
require:
|
8
|
+
- rubocop-rspec
|
9
|
+
- rubocop-rake
|
10
|
+
|
11
|
+
RSpec/DescribedClass:
|
12
|
+
Enabled: false
|
13
|
+
RSpec/ExampleLength:
|
14
|
+
Enabled: false
|
15
|
+
RSpec/BeforeAfterAll:
|
16
|
+
Enabled: false
|
17
|
+
RSpec/MultipleExpectations:
|
18
|
+
Enabled: false
|
19
|
+
RSpec/MultipleMemoizedHelpers:
|
20
|
+
Enabled: false
|
data/Gemfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
# Specify your gem's dependencies in jx_client.gemspec
|
6
|
+
gemspec
|
7
|
+
|
8
|
+
gem "rake", "~> 13.0"
|
9
|
+
|
10
|
+
gem "rspec", "~> 3.10.0"
|
11
|
+
|
12
|
+
gem "rubocop", "~> 1.21"
|
13
|
+
|
14
|
+
gem "pry", "~> 0.14.1"
|
15
|
+
|
16
|
+
gem "rubocop-shopify", "~> 2.3.0"
|
17
|
+
gem "rubocop-rspec", "~> 2.6.0"
|
18
|
+
gem "rubocop-rake", "~> 0.6.0"
|
19
|
+
|
20
|
+
gem "simplecov", "~> 0.21.2"
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2021 Narazaka
|
2
|
+
|
3
|
+
This software is provided 'as-is', without any express or implied
|
4
|
+
warranty. In no event will the authors be held liable for any damages
|
5
|
+
arising from the use of this software.
|
6
|
+
|
7
|
+
Permission is granted to anyone to use this software for any purpose,
|
8
|
+
including commercial applications, and to alter it and redistribute it
|
9
|
+
freely, subject to the following restrictions:
|
10
|
+
|
11
|
+
1. The origin of this software must not be misrepresented; you must not
|
12
|
+
claim that you wrote the original software. If you use this software
|
13
|
+
in a product, an acknowledgment in the product documentation would be
|
14
|
+
appreciated but is not required.
|
15
|
+
|
16
|
+
2. Altered source versions must be plainly marked as such, and must not be
|
17
|
+
misrepresented as being the original software.
|
18
|
+
|
19
|
+
3. This notice may not be removed or altered from any source
|
20
|
+
distribution.
|
data/README.md
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
# JxClient
|
2
|
+
|
3
|
+
日本におけるインターネットEDI(電子データ交換)において利用されるJX手順通信ライブラリ
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'jx_client'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle install
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install jx_client
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
require "jx_client"
|
25
|
+
|
26
|
+
client = JxClient.new(
|
27
|
+
jx_version: 2007,
|
28
|
+
jx_message_id_generate: -> { "#{SecureRandom.hex}@example.com" },
|
29
|
+
jx_timestamp_generate: true,
|
30
|
+
jx_default_options: {
|
31
|
+
from: "sender.example.com",
|
32
|
+
},
|
33
|
+
endpoint: "receiver.example.com", # Savon options
|
34
|
+
)
|
35
|
+
|
36
|
+
client.put_document do |op|
|
37
|
+
op.options(
|
38
|
+
to: "receiver.example.com",
|
39
|
+
data: "123,なにか,456\n",
|
40
|
+
sender_id: "10001",
|
41
|
+
receiver_id: "10002",
|
42
|
+
format_type: "SecondGenEDI",
|
43
|
+
document_type: "Order",
|
44
|
+
)
|
45
|
+
MyPutDocumentStore.mark_sending(op.sent_options)
|
46
|
+
count = 0
|
47
|
+
begin
|
48
|
+
count += 1
|
49
|
+
op.call
|
50
|
+
rescue Savon::Error
|
51
|
+
retry if count < 4
|
52
|
+
raise
|
53
|
+
end
|
54
|
+
MyPutDocumentStore.mark_sent(op.sent_options)
|
55
|
+
end
|
56
|
+
|
57
|
+
get_document = client.get_document do |op|
|
58
|
+
op.options(
|
59
|
+
to: "receiver.example.com",
|
60
|
+
receiver_id: "10001",
|
61
|
+
)
|
62
|
+
count = 0
|
63
|
+
begin
|
64
|
+
count += 1
|
65
|
+
op.call
|
66
|
+
rescue Savon::Error
|
67
|
+
retry if count < 4
|
68
|
+
raise
|
69
|
+
end
|
70
|
+
MyGetDocumentStore.mark_received(op.response.result)
|
71
|
+
MyApp.receive_document(op.response.result)
|
72
|
+
MyGetDocumentStore.mark_app_processed(op.response.result)
|
73
|
+
end
|
74
|
+
|
75
|
+
client.confirm_document do |op|
|
76
|
+
op.options(
|
77
|
+
to: "receiver.example.com",
|
78
|
+
sender_id: "10001",
|
79
|
+
receiver_id: "10002",
|
80
|
+
message_id: get_document.result.message_id,
|
81
|
+
)
|
82
|
+
count = 0
|
83
|
+
begin
|
84
|
+
count += 1
|
85
|
+
op.call
|
86
|
+
rescue Savon::Error
|
87
|
+
retry if count < 4
|
88
|
+
raise
|
89
|
+
end
|
90
|
+
end
|
91
|
+
```
|
92
|
+
|
93
|
+
## Development
|
94
|
+
|
95
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
96
|
+
|
97
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
98
|
+
|
99
|
+
## Contributing
|
100
|
+
|
101
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/Narazaka/jx_client.
|
102
|
+
|
103
|
+
## License
|
104
|
+
|
105
|
+
This is released under [Zlib License](LICENSE).
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "bundler/setup"
|
5
|
+
require "jx_client"
|
6
|
+
|
7
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
+
# with your gem easier. You can also use a different console, if you like.
|
9
|
+
|
10
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
+
require "pry"
|
12
|
+
Pry.start
|
data/bin/setup
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "./operation_base"
|
4
|
+
|
5
|
+
class JxClient
|
6
|
+
class ConfirmDocument < OperationBase
|
7
|
+
def self.from_jx_client(jx_client)
|
8
|
+
new(
|
9
|
+
operation_name: :confirm_document,
|
10
|
+
client: jx_client.client,
|
11
|
+
default_options: jx_client.jx_default_options,
|
12
|
+
operation_default_options: jx_client.jx_default_confirm_document_options,
|
13
|
+
message_id_generate: jx_client.jx_message_id_generate,
|
14
|
+
timestamp_generate: jx_client.jx_timestamp_generate,
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def wrap_response(response)
|
19
|
+
response.define_singleton_method(:result) do
|
20
|
+
body[:confirm_document_response][:confirm_document_result]
|
21
|
+
end
|
22
|
+
response
|
23
|
+
end
|
24
|
+
|
25
|
+
def locals(options)
|
26
|
+
{
|
27
|
+
soap_header: {
|
28
|
+
From: options[:from],
|
29
|
+
To: options[:to],
|
30
|
+
MessageId: options[:message_id],
|
31
|
+
Timestamp: options[:timestamp],
|
32
|
+
},
|
33
|
+
message: {
|
34
|
+
messageId: options[:message_id],
|
35
|
+
senderId: options[:sender_id],
|
36
|
+
receiverId: options[:receiver_id],
|
37
|
+
},
|
38
|
+
}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "./operation_base"
|
4
|
+
require_relative "./get_document_result"
|
5
|
+
|
6
|
+
class JxClient
|
7
|
+
class GetDocument < OperationBase
|
8
|
+
def self.from_jx_client(jx_client)
|
9
|
+
new(
|
10
|
+
operation_name: :get_document,
|
11
|
+
client: jx_client.client,
|
12
|
+
default_options: jx_client.jx_default_options,
|
13
|
+
operation_default_options: jx_client.jx_default_get_document_options,
|
14
|
+
message_id_generate: jx_client.jx_message_id_generate,
|
15
|
+
timestamp_generate: jx_client.jx_timestamp_generate,
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
def wrap_response(response)
|
20
|
+
response.define_singleton_method(:result) do
|
21
|
+
@result ||= GetDocumentResult.new(**body[:get_document_response])
|
22
|
+
end
|
23
|
+
response
|
24
|
+
end
|
25
|
+
|
26
|
+
def locals(options)
|
27
|
+
soap_header = {
|
28
|
+
From: options[:from],
|
29
|
+
To: options[:to],
|
30
|
+
MessageId: options[:message_id],
|
31
|
+
Timestamp: options[:timestamp],
|
32
|
+
}
|
33
|
+
soap_header[:OptionalFormatType] = options[:optional_format_type] if options[:optional_format_type]
|
34
|
+
soap_header[:OptionalDocumentType] = options[:optional_document_type] if options[:optional_document_type]
|
35
|
+
|
36
|
+
{
|
37
|
+
soap_header: soap_header,
|
38
|
+
message: {
|
39
|
+
receiverId: options[:receiver_id],
|
40
|
+
},
|
41
|
+
}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "base64"
|
4
|
+
|
5
|
+
class JxClient
|
6
|
+
GET_DOCUMENT_PROPERTIES = [
|
7
|
+
:get_document_result,
|
8
|
+
:message_id,
|
9
|
+
:data,
|
10
|
+
:sender_id,
|
11
|
+
:receiver_id,
|
12
|
+
:format_type,
|
13
|
+
:document_type,
|
14
|
+
].freeze
|
15
|
+
|
16
|
+
GetDocumentResult = Struct.new(
|
17
|
+
*GET_DOCUMENT_PROPERTIES,
|
18
|
+
keyword_init: true
|
19
|
+
) do
|
20
|
+
def initialize(**args)
|
21
|
+
super(**args.slice(*GET_DOCUMENT_PROPERTIES))
|
22
|
+
end
|
23
|
+
|
24
|
+
# decoded data
|
25
|
+
# @return [String]
|
26
|
+
def decoded_data
|
27
|
+
@decoded_data ||= Base64.decode64(data)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class JxClient
|
4
|
+
class OperationBase
|
5
|
+
attr_reader :sent_options, :response
|
6
|
+
|
7
|
+
# @param operation_name [Symbol] operation name
|
8
|
+
# @param client [Savon::Client] client
|
9
|
+
# @param default_options [Hash] default options
|
10
|
+
# @param operation_default_options [Hash] operation specific default options
|
11
|
+
# @param message_id_generate [Proc | Boolean] message id generator
|
12
|
+
# @param timestamp_generate [Proc | Boolean] timestamp generator
|
13
|
+
def initialize(
|
14
|
+
operation_name:,
|
15
|
+
client:,
|
16
|
+
default_options: {},
|
17
|
+
operation_default_options: {},
|
18
|
+
message_id_generate: false,
|
19
|
+
timestamp_generate: false
|
20
|
+
)
|
21
|
+
@operation_name = operation_name
|
22
|
+
@client = client
|
23
|
+
@default_options = default_options
|
24
|
+
@operation_default_options = operation_default_options
|
25
|
+
@message_id_generate = message_id_generate == true ? -> { SecureRandom.uuid } : message_id_generate
|
26
|
+
@timestamp_generate = timestamp_generate == true ? -> { Time.now.utc.iso8601 } : timestamp_generate
|
27
|
+
end
|
28
|
+
|
29
|
+
# @return [Hash] sent locals for savon call
|
30
|
+
def sent_locals
|
31
|
+
locals(@sent_options)
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param options [Hash] options
|
35
|
+
# @return [self]
|
36
|
+
def options(options)
|
37
|
+
@sent_options = merge_options(options)
|
38
|
+
self
|
39
|
+
end
|
40
|
+
|
41
|
+
# call operation
|
42
|
+
def call
|
43
|
+
@response = wrap_response(@client.call(@operation_name, sent_locals))
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
# merge options, default options and operation specific default options
|
48
|
+
def merge_options(options)
|
49
|
+
with_generated(@default_options.merge(@operation_default_options, options))
|
50
|
+
end
|
51
|
+
|
52
|
+
# @param options [Hash] options
|
53
|
+
# @return [Hash] locals for savon call
|
54
|
+
def locals(options)
|
55
|
+
raise NotImplementedError
|
56
|
+
end
|
57
|
+
|
58
|
+
# @param options [Hash] options
|
59
|
+
# @return [Hash] options with :message_id
|
60
|
+
def with_generated(options)
|
61
|
+
options[:message_id] ||= new_message_id
|
62
|
+
options[:timestamp] ||= new_timestamp
|
63
|
+
options
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [String] new message id
|
67
|
+
def new_message_id
|
68
|
+
raise "message_id must be included because message ID generation is disabled." unless @message_id_generate
|
69
|
+
@message_id_generate.call
|
70
|
+
end
|
71
|
+
|
72
|
+
def new_timestamp
|
73
|
+
raise "timestamp must be included because timestamp generation is disabled." unless @timestamp_generate
|
74
|
+
@timestamp_generate.call
|
75
|
+
end
|
76
|
+
|
77
|
+
# wraps response
|
78
|
+
def wrap_response(response)
|
79
|
+
response
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "./operation_base"
|
4
|
+
|
5
|
+
class JxClient
|
6
|
+
class PutDocument < OperationBase
|
7
|
+
def self.from_jx_client(jx_client)
|
8
|
+
new(
|
9
|
+
operation_name: :put_document,
|
10
|
+
client: jx_client.client,
|
11
|
+
default_options: jx_client.jx_default_options,
|
12
|
+
operation_default_options: jx_client.jx_default_put_document_options,
|
13
|
+
message_id_generate: jx_client.jx_message_id_generate,
|
14
|
+
timestamp_generate: jx_client.jx_timestamp_generate,
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def wrap_response(response)
|
19
|
+
response.define_singleton_method(:result) do
|
20
|
+
body[:put_document_response][:put_document_result]
|
21
|
+
end
|
22
|
+
response
|
23
|
+
end
|
24
|
+
|
25
|
+
def locals(options)
|
26
|
+
{
|
27
|
+
soap_header: {
|
28
|
+
From: options[:from],
|
29
|
+
To: options[:to],
|
30
|
+
MessageId: options[:message_id],
|
31
|
+
Timestamp: options[:timestamp],
|
32
|
+
},
|
33
|
+
message: {
|
34
|
+
messageId: options[:message_id],
|
35
|
+
data: Base64.strict_encode64(options[:data]),
|
36
|
+
senderId: options[:sender_id],
|
37
|
+
receiverId: options[:receiver_id],
|
38
|
+
formatType: options[:format_type],
|
39
|
+
documentType: options[:document_type],
|
40
|
+
compressType: options[:compress_type],
|
41
|
+
},
|
42
|
+
}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/jx_client.rb
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "jx_client/version"
|
4
|
+
require_relative "jx_client/put_document"
|
5
|
+
require_relative "jx_client/get_document"
|
6
|
+
require_relative "jx_client/confirm_document"
|
7
|
+
require "savon"
|
8
|
+
require "base64"
|
9
|
+
|
10
|
+
# JX手順クライアント
|
11
|
+
class JxClient
|
12
|
+
class Error < StandardError; end
|
13
|
+
|
14
|
+
DEFAULT_OPTIONS = {
|
15
|
+
env_namespace: :soap,
|
16
|
+
convert_request_keys_to: :none,
|
17
|
+
}.freeze
|
18
|
+
|
19
|
+
class << self
|
20
|
+
# WSDL content
|
21
|
+
# @param [2004 | 2007] version
|
22
|
+
def wsdl(version:)
|
23
|
+
@wsdl ||= {}
|
24
|
+
@wsdl[version] ||= File.read(wsdl_path(version: version))
|
25
|
+
end
|
26
|
+
|
27
|
+
# WSDL file path
|
28
|
+
# @param [2004 | 2007] version
|
29
|
+
def wsdl_path(version:)
|
30
|
+
File.expand_path("../../wsdl/jx#{version}.wsdl.xml", __FILE__)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
attr_reader :jx_version,
|
35
|
+
:jx_default_options,
|
36
|
+
:jx_default_put_document_options,
|
37
|
+
:jx_default_get_document_options,
|
38
|
+
:jx_default_confirm_document_options,
|
39
|
+
:jx_message_id_generate,
|
40
|
+
:jx_timestamp_generate
|
41
|
+
|
42
|
+
# @param options [Hash]
|
43
|
+
# @option options [2004 | 2007] :jx_version JX手順のバージョン
|
44
|
+
# @option options [Proc | Boolean] :jx_message_id_generate メッセージID生成 (true: デフォルト, false: 無効, Proc: カスタム生成)
|
45
|
+
# @option options [Proc | Boolean] :jx_timestamp_generate timestamp生成 (true: デフォルト, false: 無効, Proc: カスタム生成)
|
46
|
+
# @option options [Hash] :jx_default_options デフォルトオプション
|
47
|
+
# @option options [Hash] :jx_default_put_document_options PutDocumentのデフォルトオプション
|
48
|
+
# @option options [Hash] :jx_default_get_document_options GetDocumentのデフォルトオプション
|
49
|
+
# @option options [Hash] :jx_default_confirm_document_options ConfirmDocumentのデフォルトオプション
|
50
|
+
# @yield [client] Savon.client(&block)
|
51
|
+
def initialize(options = {}, &block)
|
52
|
+
@savon_client_options = DEFAULT_OPTIONS.merge(options)
|
53
|
+
@jx_version = @savon_client_options.delete(:jx_version) || 2007
|
54
|
+
@jx_message_id_generate = @savon_client_options.delete(:jx_message_id_generate)
|
55
|
+
@jx_timestamp_generate = @savon_client_options.delete(:jx_timestamp_generate)
|
56
|
+
@jx_default_options = @savon_client_options.delete(:jx_default_options) || {}
|
57
|
+
@jx_default_put_document_options = @savon_client_options.delete(:jx_default_put_document_options) || {}
|
58
|
+
@jx_default_get_document_options = @savon_client_options.delete(:jx_default_get_document_options) || {}
|
59
|
+
@jx_default_confirm_document_options = @savon_client_options.delete(:jx_default_confirm_document_options) || {}
|
60
|
+
@savon_client_block = block
|
61
|
+
end
|
62
|
+
|
63
|
+
# @return [Savon::Client]
|
64
|
+
def client
|
65
|
+
@client ||= Savon.client(client_options, &@savon_client_block)
|
66
|
+
end
|
67
|
+
|
68
|
+
# @return [Hash] Savon.clientのオプション
|
69
|
+
def client_options
|
70
|
+
if @jx_version
|
71
|
+
@savon_client_options.merge(wsdl: wsdl)
|
72
|
+
else
|
73
|
+
@savon_client_options
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# WSDL content
|
78
|
+
# @return [String]
|
79
|
+
def wsdl
|
80
|
+
@wsdl ||= JxClient.wsdl(version: @jx_version)
|
81
|
+
end
|
82
|
+
|
83
|
+
# @return [JxClient::PutDocument]
|
84
|
+
# @yield [operation]
|
85
|
+
# @yieldparam operation [JxClient::PutDocument]
|
86
|
+
def put_document
|
87
|
+
PutDocument.from_jx_client(self).tap do |operation|
|
88
|
+
yield operation if block_given?
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
# @return [JxClient::GetDocument]
|
93
|
+
# @yield [operation]
|
94
|
+
# @yieldparam operation [JxClient::GetDocument]
|
95
|
+
def get_document # rubocop:disable Naming/AccessorMethodName
|
96
|
+
GetDocument.from_jx_client(self).tap do |operation|
|
97
|
+
yield operation if block_given?
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
# @return [JxClient::ConfirmDocument]
|
102
|
+
# @yield [operation]
|
103
|
+
# @yieldparam operation [JxClient::ConfirmDocument]
|
104
|
+
def confirm_document
|
105
|
+
ConfirmDocument.from_jx_client(self).tap do |operation|
|
106
|
+
yield operation if block_given?
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,324 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- cf. https://www.jisa.or.jp/jiedia/tabid/2822/Default.aspx -->
|
3
|
+
<definitions
|
4
|
+
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
5
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
6
|
+
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
7
|
+
xmlns:s0="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
|
8
|
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
9
|
+
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
10
|
+
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
11
|
+
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
|
12
|
+
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
13
|
+
<types>
|
14
|
+
<s:schema
|
15
|
+
elementFormDefault="qualified"
|
16
|
+
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server">
|
17
|
+
<s:element name="PutDocument">
|
18
|
+
<s:complexType>
|
19
|
+
<s:sequence>
|
20
|
+
<s:element
|
21
|
+
minOccurs="1"
|
22
|
+
maxOccurs="1"
|
23
|
+
name="messageId"
|
24
|
+
type="s:string" />
|
25
|
+
<s:element
|
26
|
+
minOccurs="1"
|
27
|
+
maxOccurs="1"
|
28
|
+
name="data"
|
29
|
+
type="s:base64Binary" />
|
30
|
+
<s:element
|
31
|
+
minOccurs="1"
|
32
|
+
maxOccurs="1"
|
33
|
+
name="senderId"
|
34
|
+
type="s:string" />
|
35
|
+
<s:element
|
36
|
+
minOccurs="1"
|
37
|
+
maxOccurs="1"
|
38
|
+
name="receiverId"
|
39
|
+
type="s:string" />
|
40
|
+
<s:element
|
41
|
+
minOccurs="1"
|
42
|
+
maxOccurs="1"
|
43
|
+
name="formatType"
|
44
|
+
type="s:string" />
|
45
|
+
23
|
46
|
+
<s:element
|
47
|
+
minOccurs="1"
|
48
|
+
maxOccurs="1"
|
49
|
+
name="documentType"
|
50
|
+
type="s:string" />
|
51
|
+
<s:element
|
52
|
+
minOccurs="1"
|
53
|
+
maxOccurs="1"
|
54
|
+
name="compressType"
|
55
|
+
type="s:string" />
|
56
|
+
</s:sequence>
|
57
|
+
</s:complexType>
|
58
|
+
</s:element>
|
59
|
+
<s:element name="PutDocumentResponse">
|
60
|
+
<s:complexType>
|
61
|
+
<s:sequence>
|
62
|
+
<s:element
|
63
|
+
minOccurs="1"
|
64
|
+
maxOccurs="1"
|
65
|
+
name="PutDocumentResult"
|
66
|
+
type="s:boolean" />
|
67
|
+
</s:sequence>
|
68
|
+
</s:complexType>
|
69
|
+
</s:element>
|
70
|
+
<s:element
|
71
|
+
name="MessageHeader"
|
72
|
+
type="s0:MessageHeader" />
|
73
|
+
<s:complexType name="MessageHeader">
|
74
|
+
<s:sequence>
|
75
|
+
<s:element
|
76
|
+
minOccurs="1"
|
77
|
+
maxOccurs="1"
|
78
|
+
name="From"
|
79
|
+
type="s:string" />
|
80
|
+
<s:element
|
81
|
+
minOccurs="1"
|
82
|
+
maxOccurs="1"
|
83
|
+
name="To"
|
84
|
+
type="s:string" />
|
85
|
+
<s:element
|
86
|
+
minOccurs="1"
|
87
|
+
maxOccurs="1"
|
88
|
+
name="MessageId"
|
89
|
+
type="s:string" />
|
90
|
+
<s:element
|
91
|
+
minOccurs="1"
|
92
|
+
maxOccurs="1"
|
93
|
+
name="Timestamp"
|
94
|
+
type="s:string" />
|
95
|
+
</s:sequence>
|
96
|
+
</s:complexType>
|
97
|
+
<s:element name="GetDocument">
|
98
|
+
<s:complexType>
|
99
|
+
<s:sequence>
|
100
|
+
<s:element
|
101
|
+
minOccurs="1"
|
102
|
+
maxOccurs="1"
|
103
|
+
name="receiverId"
|
104
|
+
type="s:string" />
|
105
|
+
</s:sequence>
|
106
|
+
</s:complexType>
|
107
|
+
</s:element>
|
108
|
+
<s:element name="GetDocumentResponse">
|
109
|
+
<s:complexType>
|
110
|
+
<s:sequence>
|
111
|
+
<s:element
|
112
|
+
minOccurs="1"
|
113
|
+
maxOccurs="1"
|
114
|
+
name="GetDocumentResult"
|
115
|
+
type="s:boolean" />
|
116
|
+
<s:element
|
117
|
+
minOccurs="1"
|
118
|
+
maxOccurs="1"
|
119
|
+
name="messageId"
|
120
|
+
type="s:string" />
|
121
|
+
<s:element
|
122
|
+
minOccurs="1"
|
123
|
+
maxOccurs="1"
|
124
|
+
name="data"
|
125
|
+
type="s:base64Binary" />
|
126
|
+
<s:element
|
127
|
+
minOccurs="1"
|
128
|
+
maxOccurs="1"
|
129
|
+
name="senderId"
|
130
|
+
type="s:string" />
|
131
|
+
<s:element
|
132
|
+
minOccurs="1"
|
133
|
+
maxOccurs="1"
|
134
|
+
name="receiverId"
|
135
|
+
type="s:string" />
|
136
|
+
<s:element
|
137
|
+
minOccurs="1"
|
138
|
+
maxOccurs="1"
|
139
|
+
name="formatType"
|
140
|
+
type="s:string" />
|
141
|
+
<s:element
|
142
|
+
minOccurs="1"
|
143
|
+
maxOccurs="1"
|
144
|
+
name="documentType"
|
145
|
+
type="s:string" />
|
146
|
+
<s:element
|
147
|
+
minOccurs="1"
|
148
|
+
maxOccurs="1"
|
149
|
+
name="compressType"
|
150
|
+
type="s:string" />
|
151
|
+
</s:sequence>
|
152
|
+
</s:complexType>
|
153
|
+
</s:element>
|
154
|
+
<s:element name="ConfirmDocument">
|
155
|
+
<s:complexType>
|
156
|
+
<s:sequence>
|
157
|
+
<s:element
|
158
|
+
minOccurs="1"
|
159
|
+
maxOccurs="1"
|
160
|
+
name="messageId"
|
161
|
+
type="s:string" />
|
162
|
+
<s:element
|
163
|
+
minOccurs="1"
|
164
|
+
maxOccurs="1"
|
165
|
+
name="senderId"
|
166
|
+
type="s:string" />
|
167
|
+
<s:element
|
168
|
+
minOccurs="1"
|
169
|
+
maxOccurs="1"
|
170
|
+
name="receiverId"
|
171
|
+
type="s:string" />
|
172
|
+
</s:sequence>
|
173
|
+
</s:complexType>
|
174
|
+
</s:element>
|
175
|
+
<s:element name="ConfirmDocumentResponse">
|
176
|
+
<s:complexType>
|
177
|
+
<s:sequence>
|
178
|
+
<s:element
|
179
|
+
minOccurs="1"
|
180
|
+
maxOccurs="1"
|
181
|
+
name="ConfirmDocumentResult"
|
182
|
+
type="s:boolean" />
|
183
|
+
</s:sequence>
|
184
|
+
</s:complexType>
|
185
|
+
24
|
186
|
+
</s:element>
|
187
|
+
</s:schema>
|
188
|
+
</types>
|
189
|
+
<message name="PutDocumentSoapIn">
|
190
|
+
<part
|
191
|
+
name="parameters"
|
192
|
+
element="s0:PutDocument" />
|
193
|
+
</message>
|
194
|
+
<message name="PutDocumentSoapOut">
|
195
|
+
<part
|
196
|
+
name="parameters"
|
197
|
+
element="s0:PutDocumentResponse" />
|
198
|
+
</message>
|
199
|
+
<message name="PutDocumentMessageHeader">
|
200
|
+
<part
|
201
|
+
name="MessageHeader"
|
202
|
+
element="s0:MessageHeader" />
|
203
|
+
</message>
|
204
|
+
<message name="GetDocumentSoapIn">
|
205
|
+
<part
|
206
|
+
name="parameters"
|
207
|
+
element="s0:GetDocument" />
|
208
|
+
</message>
|
209
|
+
<message name="GetDocumentSoapOut">
|
210
|
+
<part
|
211
|
+
name="parameters"
|
212
|
+
element="s0:GetDocumentResponse" />
|
213
|
+
</message>
|
214
|
+
<message name="GetDocumentMessageHeader">
|
215
|
+
<part
|
216
|
+
name="MessageHeader"
|
217
|
+
element="s0:MessageHeader" />
|
218
|
+
</message>
|
219
|
+
<message name="ConfirmDocumentSoapIn">
|
220
|
+
<part
|
221
|
+
name="parameters"
|
222
|
+
element="s0:ConfirmDocument" />
|
223
|
+
</message>
|
224
|
+
<message name="ConfirmDocumentSoapOut">
|
225
|
+
<part
|
226
|
+
name="parameters"
|
227
|
+
element="s0:ConfirmDocumentResponse" />
|
228
|
+
</message>
|
229
|
+
<message name="ConfirmDocumentMessageHeader">
|
230
|
+
<part
|
231
|
+
name="MessageHeader"
|
232
|
+
element="s0:MessageHeader" />
|
233
|
+
</message>
|
234
|
+
<portType name="JXMSTransferSoap">
|
235
|
+
<operation name="PutDocument">
|
236
|
+
<documentation>ドキュメントの送信(Client To Server)</documentation>
|
237
|
+
<input message="s0:PutDocumentSoapIn" />
|
238
|
+
<output message="s0:PutDocumentSoapOut" />
|
239
|
+
</operation>
|
240
|
+
<operation name="GetDocument">
|
241
|
+
<documentation>ドキュメントの受信(Client From Server)</documentation>
|
242
|
+
<input message="s0:GetDocumentSoapIn" />
|
243
|
+
<output message="s0:GetDocumentSoapOut" />
|
244
|
+
</operation>
|
245
|
+
<operation name="ConfirmDocument">
|
246
|
+
<documentation>ドキュメントの受信確認</documentation>
|
247
|
+
<input message="s0:ConfirmDocumentSoapIn" />
|
248
|
+
<output message="s0:ConfirmDocumentSoapOut" />
|
249
|
+
</operation>
|
250
|
+
</portType>
|
251
|
+
<binding
|
252
|
+
name="JXMSTransferSoap"
|
253
|
+
type="s0:JXMSTransferSoap">
|
254
|
+
<soap:binding
|
255
|
+
transport="http://schemas.xmlsoap.org/soap/http"
|
256
|
+
style="document" />
|
257
|
+
<operation name="PutDocument">
|
258
|
+
<soap:operation
|
259
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"
|
260
|
+
style="document" />
|
261
|
+
<input>
|
262
|
+
<soap:body use="literal" />
|
263
|
+
<soap:header
|
264
|
+
message="s0:PutDocumentMessageHeader"
|
265
|
+
part="MessageHeader"
|
266
|
+
use="literal" />
|
267
|
+
</input>
|
268
|
+
<output>
|
269
|
+
<soap:body use="literal" />
|
270
|
+
<soap:header
|
271
|
+
message="s0:PutDocumentMessageHeader"
|
272
|
+
part="MessageHeader"
|
273
|
+
use="literal" />
|
274
|
+
</output>
|
275
|
+
</operation>
|
276
|
+
<operation name="GetDocument">
|
277
|
+
<soap:operation
|
278
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"
|
279
|
+
style="document" />
|
280
|
+
<input>
|
281
|
+
<soap:body use="literal" />
|
282
|
+
<soap:header
|
283
|
+
message="s0:GetDocumentMessageHeader"
|
284
|
+
part="MessageHeader"
|
285
|
+
use="literal" />
|
286
|
+
25
|
287
|
+
</input>
|
288
|
+
<output>
|
289
|
+
<soap:body use="literal" />
|
290
|
+
<soap:header
|
291
|
+
message="s0:GetDocumentMessageHeader"
|
292
|
+
part="MessageHeader"
|
293
|
+
use="literal" />
|
294
|
+
</output>
|
295
|
+
</operation>
|
296
|
+
<operation name="ConfirmDocument">
|
297
|
+
<soap:operation
|
298
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/ConfirmDocument"
|
299
|
+
style="document" />
|
300
|
+
<input>
|
301
|
+
<soap:body use="literal" />
|
302
|
+
<soap:header
|
303
|
+
message="s0:ConfirmDocumentMessageHeader"
|
304
|
+
part="MessageHeader"
|
305
|
+
use="literal" />
|
306
|
+
</input>
|
307
|
+
<output>
|
308
|
+
<soap:body use="literal" />
|
309
|
+
<soap:header
|
310
|
+
message="s0:ConfirmDocumentMessageHeader"
|
311
|
+
part="MessageHeader"
|
312
|
+
use="literal" />
|
313
|
+
</output>
|
314
|
+
</operation>
|
315
|
+
</binding>
|
316
|
+
<service name="JXMSTransfer">
|
317
|
+
<documentation>SOAP-RPC メッセージ転送サービス</documentation>
|
318
|
+
<port
|
319
|
+
name="JXMSTransferSoap"
|
320
|
+
binding="s0:JXMSTransferSoap">
|
321
|
+
<soap:address location="Please specify :endpoint option" />
|
322
|
+
</port>
|
323
|
+
</service>
|
324
|
+
</definitions>
|
@@ -0,0 +1,334 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- cf. https://www.jisa.or.jp/jiedia/tabid/2822/Default.aspx -->
|
3
|
+
<!-- JX 手順 WSDL 2008 年 3 月版 -->
|
4
|
+
<definitions
|
5
|
+
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
6
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
7
|
+
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
8
|
+
xmlns:s0="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
|
9
|
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
10
|
+
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
11
|
+
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
|
12
|
+
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
13
|
+
<types>
|
14
|
+
<s:schema
|
15
|
+
elementFormDefault="qualified"
|
16
|
+
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicosxml/client-server">
|
17
|
+
<s:element name="PutDocument">
|
18
|
+
<s:complexType>
|
19
|
+
<s:sequence>
|
20
|
+
<s:element
|
21
|
+
minOccurs="1"
|
22
|
+
maxOccurs="1"
|
23
|
+
name="messageId"
|
24
|
+
type="s:string" />
|
25
|
+
<s:element
|
26
|
+
minOccurs="1"
|
27
|
+
maxOccurs="1"
|
28
|
+
name="data"
|
29
|
+
type="s:base64Binary" />
|
30
|
+
<s:element
|
31
|
+
minOccurs="1"
|
32
|
+
maxOccurs="1"
|
33
|
+
name="senderId"
|
34
|
+
type="s:string" />
|
35
|
+
<s:element
|
36
|
+
minOccurs="1"
|
37
|
+
maxOccurs="1"
|
38
|
+
name="receiverId"
|
39
|
+
type="s:string" />
|
40
|
+
<s:element
|
41
|
+
minOccurs="1"
|
42
|
+
maxOccurs="1"
|
43
|
+
name="formatType"
|
44
|
+
type="s:string" />
|
45
|
+
<s:element
|
46
|
+
minOccurs="1"
|
47
|
+
maxOccurs="1"
|
48
|
+
name="documentType"
|
49
|
+
type="s:string" />
|
50
|
+
<s:element
|
51
|
+
minOccurs="1"
|
52
|
+
maxOccurs="1"
|
53
|
+
name="compressType"
|
54
|
+
type="s:string" />
|
55
|
+
</s:sequence>
|
56
|
+
</s:complexType>
|
57
|
+
</s:element>
|
58
|
+
<s:element name="PutDocumentResponse">
|
59
|
+
<s:complexType>
|
60
|
+
<s:sequence>
|
61
|
+
<s:element
|
62
|
+
minOccurs="1"
|
63
|
+
maxOccurs="1"
|
64
|
+
name="PutDocumentResult"
|
65
|
+
type="s:boolean" />
|
66
|
+
</s:sequence>
|
67
|
+
</s:complexType>
|
68
|
+
</s:element>
|
69
|
+
<s:element
|
70
|
+
name="MessageHeader"
|
71
|
+
type="s0:MessageHeader" />
|
72
|
+
<s:complexType name="MessageHeader">
|
73
|
+
<s:sequence>
|
74
|
+
<s:element
|
75
|
+
minOccurs="1"
|
76
|
+
maxOccurs="1"
|
77
|
+
name="From"
|
78
|
+
type="s:string" />
|
79
|
+
<s:element
|
80
|
+
minOccurs="1"
|
81
|
+
maxOccurs="1"
|
82
|
+
name="To"
|
83
|
+
type="s:string" />
|
84
|
+
<s:element
|
85
|
+
minOccurs="1"
|
86
|
+
maxOccurs="1"
|
87
|
+
name="MessageId"
|
88
|
+
type="s:string" />
|
89
|
+
<s:element
|
90
|
+
minOccurs="1"
|
91
|
+
maxOccurs="1"
|
92
|
+
name="Timestamp"
|
93
|
+
type="s:string" />
|
94
|
+
<s:element
|
95
|
+
minOccurs="0"
|
96
|
+
maxOccurs="1"
|
97
|
+
name="OptionalFormatType"
|
98
|
+
type="s:string" />
|
99
|
+
<s:element
|
100
|
+
minOccurs="0"
|
101
|
+
maxOccurs="1"
|
102
|
+
name="OptionalDocumentType"
|
103
|
+
type="s:string" />
|
104
|
+
</s:sequence>
|
105
|
+
</s:complexType>
|
106
|
+
<s:element name="GetDocument">
|
107
|
+
27
|
108
|
+
<s:complexType>
|
109
|
+
<s:sequence>
|
110
|
+
<s:element
|
111
|
+
minOccurs="1"
|
112
|
+
maxOccurs="1"
|
113
|
+
name="receiverId"
|
114
|
+
type="s:string" />
|
115
|
+
</s:sequence>
|
116
|
+
</s:complexType>
|
117
|
+
</s:element>
|
118
|
+
<s:element name="GetDocumentResponse">
|
119
|
+
<s:complexType>
|
120
|
+
<s:sequence>
|
121
|
+
<s:element
|
122
|
+
minOccurs="1"
|
123
|
+
maxOccurs="1"
|
124
|
+
name="GetDocumentResult"
|
125
|
+
type="s:boolean" />
|
126
|
+
<s:element
|
127
|
+
minOccurs="1"
|
128
|
+
maxOccurs="1"
|
129
|
+
name="messageId"
|
130
|
+
type="s:string" />
|
131
|
+
<s:element
|
132
|
+
minOccurs="1"
|
133
|
+
maxOccurs="1"
|
134
|
+
name="data"
|
135
|
+
type="s:base64Binary" />
|
136
|
+
<s:element
|
137
|
+
minOccurs="1"
|
138
|
+
maxOccurs="1"
|
139
|
+
name="senderId"
|
140
|
+
type="s:string" />
|
141
|
+
<s:element
|
142
|
+
minOccurs="1"
|
143
|
+
maxOccurs="1"
|
144
|
+
name="receiverId"
|
145
|
+
type="s:string" />
|
146
|
+
<s:element
|
147
|
+
minOccurs="1"
|
148
|
+
maxOccurs="1"
|
149
|
+
name="formatType"
|
150
|
+
type="s:string" />
|
151
|
+
<s:element
|
152
|
+
minOccurs="1"
|
153
|
+
maxOccurs="1"
|
154
|
+
name="documentType"
|
155
|
+
type="s:string" />
|
156
|
+
<s:element
|
157
|
+
minOccurs="1"
|
158
|
+
maxOccurs="1"
|
159
|
+
name="compressType"
|
160
|
+
type="s:string" />
|
161
|
+
</s:sequence>
|
162
|
+
</s:complexType>
|
163
|
+
</s:element>
|
164
|
+
<s:element name="ConfirmDocument">
|
165
|
+
<s:complexType>
|
166
|
+
<s:sequence>
|
167
|
+
<s:element
|
168
|
+
minOccurs="1"
|
169
|
+
maxOccurs="1"
|
170
|
+
name="messageId"
|
171
|
+
type="s:string" />
|
172
|
+
<s:element
|
173
|
+
minOccurs="1"
|
174
|
+
maxOccurs="1"
|
175
|
+
name="senderId"
|
176
|
+
type="s:string" />
|
177
|
+
<s:element
|
178
|
+
minOccurs="1"
|
179
|
+
maxOccurs="1"
|
180
|
+
name="receiverId"
|
181
|
+
type="s:string" />
|
182
|
+
</s:sequence>
|
183
|
+
</s:complexType>
|
184
|
+
</s:element>
|
185
|
+
<s:element name="ConfirmDocumentResponse">
|
186
|
+
<s:complexType>
|
187
|
+
<s:sequence>
|
188
|
+
<s:element
|
189
|
+
minOccurs="1"
|
190
|
+
maxOccurs="1"
|
191
|
+
name="ConfirmDocumentResult"
|
192
|
+
type="s:boolean" />
|
193
|
+
</s:sequence>
|
194
|
+
</s:complexType>
|
195
|
+
</s:element>
|
196
|
+
</s:schema>
|
197
|
+
</types>
|
198
|
+
<message name="PutDocumentSoapIn">
|
199
|
+
<part
|
200
|
+
name="parameters"
|
201
|
+
element="s0:PutDocument" />
|
202
|
+
</message>
|
203
|
+
<message name="PutDocumentSoapOut">
|
204
|
+
<part
|
205
|
+
name="parameters"
|
206
|
+
element="s0:PutDocumentResponse" />
|
207
|
+
</message>
|
208
|
+
<message name="PutDocumentMessageHeader">
|
209
|
+
<part
|
210
|
+
name="MessageHeader"
|
211
|
+
element="s0:MessageHeader" />
|
212
|
+
</message>
|
213
|
+
<message name="GetDocumentSoapIn">
|
214
|
+
<part
|
215
|
+
name="parameters"
|
216
|
+
element="s0:GetDocument" />
|
217
|
+
</message>
|
218
|
+
28
|
219
|
+
<message name="GetDocumentSoapOut">
|
220
|
+
<part
|
221
|
+
name="parameters"
|
222
|
+
element="s0:GetDocumentResponse" />
|
223
|
+
</message>
|
224
|
+
<message name="GetDocumentMessageHeader">
|
225
|
+
<part
|
226
|
+
name="MessageHeader"
|
227
|
+
element="s0:MessageHeader" />
|
228
|
+
</message>
|
229
|
+
<message name="ConfirmDocumentSoapIn">
|
230
|
+
<part
|
231
|
+
name="parameters"
|
232
|
+
element="s0:ConfirmDocument" />
|
233
|
+
</message>
|
234
|
+
<message name="ConfirmDocumentSoapOut">
|
235
|
+
<part
|
236
|
+
name="parameters"
|
237
|
+
element="s0:ConfirmDocumentResponse" />
|
238
|
+
</message>
|
239
|
+
<message name="ConfirmDocumentMessageHeader">
|
240
|
+
<part
|
241
|
+
name="MessageHeader"
|
242
|
+
element="s0:MessageHeader" />
|
243
|
+
</message>
|
244
|
+
<portType name="JXMSTransferSoap">
|
245
|
+
<operation name="PutDocument">
|
246
|
+
<documentation>ドキュメントの送信(Client To Server)</documentation>
|
247
|
+
<input message="s0:PutDocumentSoapIn" />
|
248
|
+
<output message="s0:PutDocumentSoapOut" />
|
249
|
+
</operation>
|
250
|
+
<operation name="GetDocument">
|
251
|
+
<documentation>ドキュメントの受信(Client From Server)</documentation>
|
252
|
+
<input message="s0:GetDocumentSoapIn" />
|
253
|
+
<output message="s0:GetDocumentSoapOut" />
|
254
|
+
</operation>
|
255
|
+
<operation name="ConfirmDocument">
|
256
|
+
<documentation>ドキュメントの受信確認</documentation>
|
257
|
+
<input message="s0:ConfirmDocumentSoapIn" />
|
258
|
+
<output message="s0:ConfirmDocumentSoapOut" />
|
259
|
+
</operation>
|
260
|
+
</portType>
|
261
|
+
<binding
|
262
|
+
name="JXMSTransferSoap"
|
263
|
+
type="s0:JXMSTransferSoap">
|
264
|
+
<soap:binding
|
265
|
+
transport="http://schemas.xmlsoap.org/soap/http"
|
266
|
+
style="document" />
|
267
|
+
<operation name="PutDocument">
|
268
|
+
<soap:operation
|
269
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"
|
270
|
+
style="document" />
|
271
|
+
<input>
|
272
|
+
<soap:body use="literal" />
|
273
|
+
<soap:header
|
274
|
+
message="s0:PutDocumentMessageHeader"
|
275
|
+
part="MessageHeader"
|
276
|
+
use="literal" />
|
277
|
+
</input>
|
278
|
+
<output>
|
279
|
+
<soap:body use="literal" />
|
280
|
+
<soap:header
|
281
|
+
message="s0:PutDocumentMessageHeader"
|
282
|
+
part="MessageHeader"
|
283
|
+
use="literal" />
|
284
|
+
</output>
|
285
|
+
</operation>
|
286
|
+
<operation name="GetDocument">
|
287
|
+
<soap:operation
|
288
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"
|
289
|
+
style="document" />
|
290
|
+
<input>
|
291
|
+
<soap:body use="literal" />
|
292
|
+
<soap:header
|
293
|
+
message="s0:GetDocumentMessageHeader"
|
294
|
+
part="MessageHeader"
|
295
|
+
use="literal" />
|
296
|
+
</input>
|
297
|
+
29
|
298
|
+
<output>
|
299
|
+
<soap:body use="literal" />
|
300
|
+
<soap:header
|
301
|
+
message="s0:GetDocumentMessageHeader"
|
302
|
+
part="MessageHeader"
|
303
|
+
use="literal" />
|
304
|
+
</output>
|
305
|
+
</operation>
|
306
|
+
<operation name="ConfirmDocument">
|
307
|
+
<soap:operation
|
308
|
+
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/clientserver/ConfirmDocument"
|
309
|
+
style="document" />
|
310
|
+
<input>
|
311
|
+
<soap:body use="literal" />
|
312
|
+
<soap:header
|
313
|
+
message="s0:ConfirmDocumentMessageHeader"
|
314
|
+
part="MessageHeader"
|
315
|
+
use="literal" />
|
316
|
+
</input>
|
317
|
+
<output>
|
318
|
+
<soap:body use="literal" />
|
319
|
+
<soap:header
|
320
|
+
message="s0:ConfirmDocumentMessageHeader"
|
321
|
+
part="MessageHeader"
|
322
|
+
use="literal" />
|
323
|
+
</output>
|
324
|
+
</operation>
|
325
|
+
</binding>
|
326
|
+
<service name="JXMSTransfer">
|
327
|
+
<documentation>JX 手順メッセージ転送サービス</documentation>
|
328
|
+
<port
|
329
|
+
name="JXMSTransferSoap"
|
330
|
+
binding="s0:JXMSTransferSoap">
|
331
|
+
<soap:address location="Please specify :endpoint option" />
|
332
|
+
</port>
|
333
|
+
</service>
|
334
|
+
</definitions>
|
metadata
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jx_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Narazaka
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: savon
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.12.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.12.1
|
27
|
+
description:
|
28
|
+
email:
|
29
|
+
- info@narazaka.net
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rspec"
|
35
|
+
- ".rubocop.yml"
|
36
|
+
- Gemfile
|
37
|
+
- LICENSE
|
38
|
+
- README.md
|
39
|
+
- Rakefile
|
40
|
+
- bin/console
|
41
|
+
- bin/setup
|
42
|
+
- lib/jx_client.rb
|
43
|
+
- lib/jx_client/confirm_document.rb
|
44
|
+
- lib/jx_client/get_document.rb
|
45
|
+
- lib/jx_client/get_document_result.rb
|
46
|
+
- lib/jx_client/operation_base.rb
|
47
|
+
- lib/jx_client/put_document.rb
|
48
|
+
- lib/jx_client/version.rb
|
49
|
+
- wsdl/jx2004.wsdl.xml
|
50
|
+
- wsdl/jx2007.wsdl.xml
|
51
|
+
homepage: https://github.com/Narazaka/jx_client
|
52
|
+
licenses:
|
53
|
+
- Zlib
|
54
|
+
metadata:
|
55
|
+
homepage_uri: https://github.com/Narazaka/jx_client
|
56
|
+
source_code_uri: https://github.com/Narazaka/jx_client.git
|
57
|
+
changelog_uri: https://github.com/Narazaka/jx_client
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 2.6.0
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
requirements: []
|
73
|
+
rubygems_version: 3.2.3
|
74
|
+
signing_key:
|
75
|
+
specification_version: 4
|
76
|
+
summary: EDI用JX手順クライアント
|
77
|
+
test_files: []
|