campaign_master 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +8 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +56 -0
- data/README.md +50 -0
- data/campaign_master.gemspec +26 -0
- data/lib/campaign_master/client.rb +50 -0
- data/lib/campaign_master/savon.rb +20 -0
- data/lib/campaign_master/soap_client.rb +35 -0
- data/lib/campaign_master/subscriber.rb +56 -0
- data/spec/campaign_master/client_spec.rb +47 -0
- data/spec/campaign_master/savon_spec.rb +12 -0
- data/spec/campaign_master/soap_client_spec.rb +37 -0
- data/spec/campaign_master/subscriber_spec.rb +64 -0
- data/spec/fixtures/vcr_cassettes/login_import_successful.yml +240 -0
- data/spec/fixtures/vcr_cassettes/login_successful.yml +121 -0
- data/spec/fixtures/vcr_cassettes/login_successful_new_token.yml +121 -0
- data/spec/fixtures/vcr_cassettes/login_unsuccessful.yml +120 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/support/client_support.rb +11 -0
- data/spec/support/subscriber_support.rb +11 -0
- metadata +22 -1
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
GIT
|
2
|
+
remote: https://github.com/savonrb/savon.git
|
3
|
+
revision: 5acd24612d83cea2a2e06133e1173131d856976c
|
4
|
+
ref: 5acd246
|
5
|
+
specs:
|
6
|
+
savon (2.1.0)
|
7
|
+
akami (~> 1.2.0)
|
8
|
+
builder (>= 2.1.2)
|
9
|
+
gyoku (~> 1.0.0)
|
10
|
+
httpi (~> 2.0.2)
|
11
|
+
nokogiri (>= 1.4.0)
|
12
|
+
nori (~> 2.0.3)
|
13
|
+
wasabi (~> 3.0.0)
|
14
|
+
|
15
|
+
GEM
|
16
|
+
remote: https://rubygems.org/
|
17
|
+
specs:
|
18
|
+
addressable (2.3.4)
|
19
|
+
akami (1.2.0)
|
20
|
+
gyoku (>= 0.4.0)
|
21
|
+
nokogiri (>= 1.4.0)
|
22
|
+
builder (3.2.0)
|
23
|
+
crack (0.3.2)
|
24
|
+
diff-lcs (1.2.4)
|
25
|
+
gyoku (1.0.0)
|
26
|
+
builder (>= 2.1.2)
|
27
|
+
httpi (2.0.2)
|
28
|
+
rack
|
29
|
+
nokogiri (1.5.9)
|
30
|
+
nori (2.0.4)
|
31
|
+
rack (1.5.2)
|
32
|
+
rspec (2.13.0)
|
33
|
+
rspec-core (~> 2.13.0)
|
34
|
+
rspec-expectations (~> 2.13.0)
|
35
|
+
rspec-mocks (~> 2.13.0)
|
36
|
+
rspec-core (2.13.1)
|
37
|
+
rspec-expectations (2.13.0)
|
38
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
39
|
+
rspec-mocks (2.13.1)
|
40
|
+
vcr (2.4.0)
|
41
|
+
wasabi (3.0.0)
|
42
|
+
httpi (~> 2.0)
|
43
|
+
nokogiri (>= 1.4.0)
|
44
|
+
webmock (1.9.0)
|
45
|
+
addressable (>= 2.2.7)
|
46
|
+
crack (>= 0.1.7)
|
47
|
+
|
48
|
+
PLATFORMS
|
49
|
+
ruby
|
50
|
+
|
51
|
+
DEPENDENCIES
|
52
|
+
rspec (= 2.13.0)
|
53
|
+
rspec-mocks (= 2.13.1)
|
54
|
+
savon!
|
55
|
+
vcr (= 2.4.0)
|
56
|
+
webmock (= 1.9.0)
|
data/README.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
#campaignmasterb
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/madebymade/campaignmasterrb.png?branch=master)](https://travis-ci.org/madebymade/campaignmasterrb)
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/campaign_master.png)](http://badge.fury.io/rb/campaign_master)
|
5
|
+
|
6
|
+
Ruby interface that allows you to send subscribers to a [Campaign Master](http://www.campaignmaster.co.uk/) list.
|
7
|
+
|
8
|
+
Currently no other Campaign Master API functions are supported, though it should be trivial to add these.
|
9
|
+
|
10
|
+
|
11
|
+
##Installation
|
12
|
+
|
13
|
+
Campaignmasterrb is available via Rubygems:
|
14
|
+
|
15
|
+
```
|
16
|
+
gem install campaign_master
|
17
|
+
```
|
18
|
+
|
19
|
+
or add it to your Gemfile:
|
20
|
+
|
21
|
+
```
|
22
|
+
gem 'campaign_master'
|
23
|
+
```
|
24
|
+
|
25
|
+
You'll also currently need to add the GitHub build of the [Savon client](http://savonrb.com/). When the version of Savon on RubyGems has been updated we'll add this as a proper dependency.
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
gem 'savon', :git => 'https://github.com/savonrb/savon.git', :ref => '5acd246'
|
29
|
+
```
|
30
|
+
|
31
|
+
|
32
|
+
##Basic usage
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
require 'campaign_master'
|
36
|
+
|
37
|
+
format = "EmailAddress,First_Name,IsActive\r\n"
|
38
|
+
subscribers = "test@example.org,Derek,1\r\ntest2@example.org,Doreen,1"
|
39
|
+
delimiter = ","
|
40
|
+
|
41
|
+
client = CampaignMaster.client(username, password, client_id)
|
42
|
+
client.call(:Subscriber).import(format, delimiter, suscribers)
|
43
|
+
```
|
44
|
+
|
45
|
+
The format string can contain any fields supported by Campaign Master.
|
46
|
+
|
47
|
+
|
48
|
+
##License
|
49
|
+
|
50
|
+
Licensed under [New BSD License](http://opensource.org/licenses/BSD-3-Clause)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'campaign_master'
|
3
|
+
s.version = '1.0.1'
|
4
|
+
s.date = '2012-04-23'
|
5
|
+
s.summary = "Interface to interact with the Campaign Master API"
|
6
|
+
s.description = "Provides the ability to send subscribers to a Campaign Master email list"
|
7
|
+
s.authors = ["Chris Blackburn"]
|
8
|
+
s.email = 'chris@madebymade.co.uk'
|
9
|
+
s.files = ["lib/campaign_master.rb"]
|
10
|
+
s.homepage = 'https://github.com/madebymade/campaignmasterrb'
|
11
|
+
|
12
|
+
s.add_development_dependency 'rspec', '2.13.0'
|
13
|
+
s.add_development_dependency 'rspec-mocks', '2.13.1'
|
14
|
+
s.add_development_dependency 'webmock', '2.9.0'
|
15
|
+
s.add_development_dependency 'vcr', '2.4.0'
|
16
|
+
|
17
|
+
ignores = File.readlines(".gitignore").grep(/\S+/).map(&:chomp)
|
18
|
+
dotfiles = %w[.gitignore .travis.yml]
|
19
|
+
|
20
|
+
all_files_without_ignores = Dir["**/*"].reject { |f|
|
21
|
+
File.directory?(f) || ignores.any? { |i| File.fnmatch(i, f) }
|
22
|
+
}
|
23
|
+
|
24
|
+
s.files = (all_files_without_ignores + dotfiles).sort
|
25
|
+
s.require_path = "lib"
|
26
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module CampaignMaster
|
2
|
+
class Client
|
3
|
+
AuthenticationError = Class.new(RuntimeError)
|
4
|
+
|
5
|
+
attr_accessor :username, :password, :id
|
6
|
+
|
7
|
+
def initialize(username, password, id)
|
8
|
+
@login_expiration_seconds = -1
|
9
|
+
@security_token = false
|
10
|
+
|
11
|
+
self.username = username
|
12
|
+
self.password = password
|
13
|
+
self.id = id
|
14
|
+
end
|
15
|
+
|
16
|
+
def get_security_token
|
17
|
+
if self.token_expired
|
18
|
+
soap_client = CampaignMaster::SoapClient.get_client()
|
19
|
+
response = soap_client.call(:login,
|
20
|
+
message: { clientID: self.id, userName: self.username, password: self.password },
|
21
|
+
:attributes => CampaignMaster::SoapClient.attributes
|
22
|
+
)
|
23
|
+
|
24
|
+
raise AuthenticationError if !self.valid_response?(response)
|
25
|
+
|
26
|
+
@login_expiration_seconds = Time.now.to_i + response.body[:login_response][:login_result][:minutes_till_token_expires].to_i * 60
|
27
|
+
@security_token = response.body[:login_response][:login_result][:token_string]
|
28
|
+
end
|
29
|
+
|
30
|
+
@security_token
|
31
|
+
end
|
32
|
+
|
33
|
+
def token_expired
|
34
|
+
@login_expiration_seconds < Time.now.to_i
|
35
|
+
end
|
36
|
+
|
37
|
+
def call(class_name)
|
38
|
+
CampaignMaster.const_get(class_name).new(self)
|
39
|
+
end
|
40
|
+
|
41
|
+
protected
|
42
|
+
def valid_response?(response)
|
43
|
+
(response.body.has_key?(:login_response) and
|
44
|
+
response.body[:login_response].has_key?(:login_result) and
|
45
|
+
response.body[:login_response][:login_result].has_key?(:minutes_till_token_expires) and
|
46
|
+
response.body[:login_response][:login_result].has_key?(:token_string) and
|
47
|
+
response.body[:login_response][:login_result][:minutes_till_token_expires].to_i > 0)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Savon
|
2
|
+
def self.extract_envelope_from_response_body(response_body)
|
3
|
+
envelope_start = response_body.index("<s:Envelope")
|
4
|
+
envelope_end = response_body.index("</s:Envelope>") + 12
|
5
|
+
|
6
|
+
response_body[envelope_start..envelope_end]
|
7
|
+
end
|
8
|
+
|
9
|
+
class Response
|
10
|
+
def to_xml
|
11
|
+
Savon::extract_envelope_from_response_body(@http.body)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class SOAPFault
|
16
|
+
def to_hash
|
17
|
+
nori.parse(Savon::extract_envelope_from_response_body(@http.body))[:envelope][:body]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module CampaignMaster
|
2
|
+
class SoapClient
|
3
|
+
def self.get_client(soap_header = nil)
|
4
|
+
options = {
|
5
|
+
wsdl: CampaignMaster.wsdl,
|
6
|
+
ssl_verify_mode: :none,
|
7
|
+
convert_request_keys_to: :none,
|
8
|
+
env_namespace: :S,
|
9
|
+
namespace_identifier: nil,
|
10
|
+
namespaces: self::namespaces,
|
11
|
+
log_level: :warn
|
12
|
+
}
|
13
|
+
|
14
|
+
options = options.merge({soap_header: soap_header}) if !soap_header.nil?
|
15
|
+
|
16
|
+
Savon.client(options)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.namespaces
|
20
|
+
{
|
21
|
+
"xmlns:ns2" => "http://campaignmaster.com.au",
|
22
|
+
"xmlns:ns3" => "http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts",
|
23
|
+
"xmlns:ns4" => "http://schemas.microsoft.com/2003/10/Serialization/",
|
24
|
+
"xmlns:ns5" => "http://schemas.datacontract.org/2004/07/ECM.Model",
|
25
|
+
"xmlns:ns1381" => "http://campaignmaster.com.au"
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.attributes
|
30
|
+
{
|
31
|
+
"xmlns" => "http://campaignmaster.com.au"
|
32
|
+
}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module CampaignMaster
|
4
|
+
class Subscriber
|
5
|
+
ImportError = Class.new(RuntimeError)
|
6
|
+
|
7
|
+
attr_accessor :client
|
8
|
+
|
9
|
+
def initialize(client)
|
10
|
+
self.client = client
|
11
|
+
end
|
12
|
+
|
13
|
+
def import(format, delimeter, subscribers)
|
14
|
+
soap_client = CampaignMaster::SoapClient.get_client(self.get_import_headers(delimeter))
|
15
|
+
|
16
|
+
response = soap_client.call(:submit_import_job,
|
17
|
+
message_tag: "SubmitJobRequest",
|
18
|
+
message: { FileToImport: Base64.encode64("#{format}\r\n#{subscribers}") },
|
19
|
+
:attributes => CampaignMaster::SoapClient.attributes
|
20
|
+
)
|
21
|
+
|
22
|
+
raise ImportError if !self.valid_response?(response)
|
23
|
+
|
24
|
+
response.body[:job_submission_result_message][:job_id].to_i
|
25
|
+
end
|
26
|
+
|
27
|
+
protected
|
28
|
+
def get_import_headers(delimeter)
|
29
|
+
{
|
30
|
+
"ns2:SecurityToken" => { "ns3:Value" => self.client.get_security_token() },
|
31
|
+
"ns2:JobDefinition" => {
|
32
|
+
"ns3:Delimiter" => delimeter,
|
33
|
+
"ns3:Filename" => "import.txt",
|
34
|
+
"ns3:InsertSettings" => {
|
35
|
+
"ns5:AllowImport" => true,
|
36
|
+
"ns5:MakeActive" => true,
|
37
|
+
"ns5:MakeVerified" => true
|
38
|
+
},
|
39
|
+
"ns3:PrimaryKey" => "EmailAddress",
|
40
|
+
"ns3:UpdateSettings" => {
|
41
|
+
"ns5:AllowImport" => true,
|
42
|
+
"ns5:MakeActive" => true,
|
43
|
+
"ns5:MakeVerified" => true
|
44
|
+
},
|
45
|
+
"ns3:UseFirstDuplicate" => 1
|
46
|
+
}
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
def valid_response?(response)
|
51
|
+
(response.body.has_key?(:job_submission_result_message) and
|
52
|
+
response.body[:job_submission_result_message].has_key?(:job_id) and
|
53
|
+
response.body[:job_submission_result_message][:job_id].to_i > 0)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CampaignMaster::Client do
|
4
|
+
describe ".new" do
|
5
|
+
it "accepts a username, password and client ID as constructor arguments" do
|
6
|
+
client = ClientSupport.get_good_client
|
7
|
+
|
8
|
+
expect(client.username).to eq 'derek'
|
9
|
+
expect(client.password).to eq 'password'
|
10
|
+
expect(client.id).to eq 123
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe ".get_security_token" do
|
15
|
+
it "will return the cached security token if it has not expired" do
|
16
|
+
client = ClientSupport.get_good_client
|
17
|
+
|
18
|
+
VCR.use_cassette('login_successful') do
|
19
|
+
client.get_security_token()
|
20
|
+
end
|
21
|
+
|
22
|
+
expect(client.get_security_token()).to eq "secrettoken"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "will fetch a new security token if it has expired" do
|
26
|
+
client = ClientSupport.get_good_client
|
27
|
+
|
28
|
+
VCR.use_cassette('login_successful') do
|
29
|
+
expect(client.get_security_token()).to eq "secrettoken"
|
30
|
+
end
|
31
|
+
|
32
|
+
client.stub(:token_expired).and_return(true)
|
33
|
+
|
34
|
+
VCR.use_cassette('login_successful_new_token') do
|
35
|
+
expect(client.get_security_token()).to eq "newsecrettoken"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "will raise an exception if bad credentials are passed" do
|
40
|
+
client = ClientSupport.get_bad_client
|
41
|
+
|
42
|
+
VCR.use_cassette('login_unsuccessful') do
|
43
|
+
expect { client.get_security_token() }.to raise_error
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Savon do
|
4
|
+
describe ".extract_envelope_from_response_body" do
|
5
|
+
it "extracts all the envelope from a crufty response body" do
|
6
|
+
useful_response = "<s:Envelope><payload>value</payload></s:Envelope>"
|
7
|
+
crufty_response = "some-cruft---#{useful_response}---more-cruft"
|
8
|
+
|
9
|
+
expect(Savon.extract_envelope_from_response_body(crufty_response)).to eq useful_response
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CampaignMaster::SoapClient do
|
4
|
+
describe ".get_client" do
|
5
|
+
it "returns an instance of Savon::Client" do
|
6
|
+
CampaignMaster::SoapClient.get_client.should be_a(Savon::Client)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "includes the soap_header in the headers if the argument is passed" do
|
10
|
+
soap_header = {"test" => "example"}
|
11
|
+
|
12
|
+
soap_client = CampaignMaster::SoapClient.get_client(soap_header)
|
13
|
+
expect(soap_client.globals[:soap_header]).to be soap_header
|
14
|
+
end
|
15
|
+
|
16
|
+
it "omits the soap_header from the headers if no argument is passed" do
|
17
|
+
soap_client = CampaignMaster::SoapClient.get_client()
|
18
|
+
expect(soap_client.globals[:soap_header]).to be_nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe ".namespaces" do
|
23
|
+
it "returns a hash containing the necessary namespaces for a SOAP request" do
|
24
|
+
expect(CampaignMaster::SoapClient.namespaces["xmlns:ns2"]).to eq "http://campaignmaster.com.au"
|
25
|
+
expect(CampaignMaster::SoapClient.namespaces["xmlns:ns3"]).to eq "http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts"
|
26
|
+
expect(CampaignMaster::SoapClient.namespaces["xmlns:ns4"]).to eq "http://schemas.microsoft.com/2003/10/Serialization/"
|
27
|
+
expect(CampaignMaster::SoapClient.namespaces["xmlns:ns5"]).to eq "http://schemas.datacontract.org/2004/07/ECM.Model"
|
28
|
+
expect(CampaignMaster::SoapClient.namespaces["xmlns:ns1381"]).to eq "http://campaignmaster.com.au"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe ".attributes" do
|
33
|
+
it "returns the attributes necessary to make a SOAP request" do
|
34
|
+
expect(CampaignMaster::SoapClient.attributes["xmlns"]).to eq "http://campaignmaster.com.au"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CampaignMaster::Subscriber do
|
4
|
+
describe ".new" do
|
5
|
+
it "sets the value of the client property to the passed argument" do
|
6
|
+
arg = "client_dummy"
|
7
|
+
subscriber = CampaignMaster::Subscriber.new(arg)
|
8
|
+
expect(subscriber.client).to eq arg
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe ".import" do
|
13
|
+
it "returns the Job ID if it's successfully called" do
|
14
|
+
import_data = SubscriberSupport.get_import_data
|
15
|
+
client = ClientSupport.get_good_client
|
16
|
+
|
17
|
+
VCR.use_cassette('login_import_successful') do
|
18
|
+
response = client.call(:Subscriber).import(import_data[:format], import_data[:subscribers], import_data[:delimiter])
|
19
|
+
expect(response).to eq 123456
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it "raises an exception if an invalid response is received" do
|
24
|
+
import_data = SubscriberSupport.get_import_data
|
25
|
+
client = ClientSupport.get_good_client
|
26
|
+
subscriber = client.call(:Subscriber)
|
27
|
+
|
28
|
+
subscriber.stub("valid_response?").and_return(false)
|
29
|
+
|
30
|
+
VCR.use_cassette('login_import_successful') do
|
31
|
+
expect { subscriber.import(import_data[:format], import_data[:subscribers], import_data[:delimiter]) }.to raise_error
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe ".get_import_headers" do
|
37
|
+
it "returns a hash containing the SOAP headers for the request" do
|
38
|
+
client = ClientSupport.get_good_client
|
39
|
+
subscriber = client.call(:Subscriber)
|
40
|
+
|
41
|
+
VCR.use_cassette('login_successful') do
|
42
|
+
expect(subscriber.send(:get_import_headers, ",")["ns2:JobDefinition"]["ns3:Filename"]).to eq "import.txt"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "take a delimeter parameter and includes this in the headers" do
|
47
|
+
client = ClientSupport.get_good_client
|
48
|
+
subscriber = client.call(:Subscriber)
|
49
|
+
|
50
|
+
VCR.use_cassette('login_successful') do
|
51
|
+
expect(subscriber.send(:get_import_headers, "^^")["ns2:JobDefinition"]["ns3:Delimiter"]).to eq "^^"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
it "returns the authentication information in the headers" do
|
56
|
+
client = ClientSupport.get_good_client
|
57
|
+
subscriber = client.call(:Subscriber)
|
58
|
+
|
59
|
+
VCR.use_cassette('login_successful') do
|
60
|
+
expect(subscriber.send(:get_import_headers, ",")["ns2:SecurityToken"]["ns3:Value"]).to eq "secrettoken"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,240 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 22 Apr 2013 17:36:58 GMT
|
21
|
+
Server:
|
22
|
+
- Microsoft-IIS/6.0
|
23
|
+
X-Powered-By:
|
24
|
+
- ASP.NET
|
25
|
+
X-Aspnet-Version:
|
26
|
+
- 4.0.30319
|
27
|
+
Content-Length:
|
28
|
+
- '3663'
|
29
|
+
Cache-Control:
|
30
|
+
- private
|
31
|
+
Content-Type:
|
32
|
+
- text/xml; charset=UTF-8
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: <?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="CampaignMasterJobService"
|
36
|
+
targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
37
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
38
|
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
39
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
40
|
+
xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
41
|
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://campaignmaster.com.au"
|
42
|
+
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
|
43
|
+
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing"
|
44
|
+
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy
|
45
|
+
wsu:Id="BasicHttpBinding_ICampaignMasterJobService_policy"><wsp:ExactlyOne><wsp:All><wsoma:OptimizedMimeSerialization
|
46
|
+
xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"/><sp:TransportBinding
|
47
|
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy><sp:TransportToken><wsp:Policy><sp:HttpsToken
|
48
|
+
RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import
|
49
|
+
namespace="http://campaignmaster.com.au" location="http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl=wsdl0"/><wsdl:types/><wsdl:binding
|
50
|
+
name="BasicHttpBinding_ICampaignMasterJobService" type="i0:ICampaignMasterJobService"><wsp:PolicyReference
|
51
|
+
URI="#BasicHttpBinding_ICampaignMasterJobService_policy"/><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation
|
52
|
+
name="Login"><soap:operation soapAction="http://campaignmaster.com.au/IAPIService/Login"
|
53
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
54
|
+
use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetServerTime"><soap:operation
|
55
|
+
soapAction="http://campaignmaster.com.au/IAPIService/GetServerTime" style="document"/><wsdl:input><soap:body
|
56
|
+
use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
57
|
+
name="SubmitImportJob"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"
|
58
|
+
style="document"/><wsdl:input name="SubmitJobRequest"><soap:header message="i0:SubmitJobRequest_Headers"
|
59
|
+
part="JobDefinition" use="literal"/><soap:header message="i0:SubmitJobRequest_Headers"
|
60
|
+
part="SecurityToken" use="literal"/><soap:body use="literal"/></wsdl:input><wsdl:output
|
61
|
+
name="JobSubmissionResultMessage"><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
62
|
+
name="GetJobResult"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/GetJobResult"
|
63
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
64
|
+
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
|
65
|
+
name="CampaignMasterJobService"><wsdl:port name="BasicHttpBinding_ICampaignMasterJobService"
|
66
|
+
binding="tns:BasicHttpBinding_ICampaignMasterJobService"><soap:address location="https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc"/></wsdl:port></wsdl:service></wsdl:definitions>
|
67
|
+
http_version:
|
68
|
+
recorded_at: Mon, 22 Apr 2013 17:36:58 GMT
|
69
|
+
- request:
|
70
|
+
method: post
|
71
|
+
uri: https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc
|
72
|
+
body:
|
73
|
+
encoding: US-ASCII
|
74
|
+
string: <?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
75
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"
|
76
|
+
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://campaignmaster.com.au"
|
77
|
+
xmlns:ns3="http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts"
|
78
|
+
xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:ns5="http://schemas.datacontract.org/2004/07/ECM.Model"
|
79
|
+
xmlns:ns1381="http://campaignmaster.com.au"><S:Body><Login xmlns="http://campaignmaster.com.au"><clientID>123</clientID><userName>test</userName><password>secret</password></Login></S:Body></S:Envelope>
|
80
|
+
headers:
|
81
|
+
Soapaction:
|
82
|
+
- ! '"http://campaignmaster.com.au/IAPIService/Login"'
|
83
|
+
Content-Type:
|
84
|
+
- text/xml;charset=UTF-8
|
85
|
+
Content-Length:
|
86
|
+
- '703'
|
87
|
+
Accept:
|
88
|
+
- ! '*/*'
|
89
|
+
User-Agent:
|
90
|
+
- Ruby
|
91
|
+
response:
|
92
|
+
status:
|
93
|
+
code: 200
|
94
|
+
message: OK
|
95
|
+
headers:
|
96
|
+
Date:
|
97
|
+
- Mon, 22 Apr 2013 17:36:58 GMT
|
98
|
+
Server:
|
99
|
+
- Microsoft-IIS/6.0
|
100
|
+
X-Powered-By:
|
101
|
+
- ASP.NET
|
102
|
+
X-Aspnet-Version:
|
103
|
+
- 4.0.30319
|
104
|
+
Mime-Version:
|
105
|
+
- '1.0'
|
106
|
+
Transfer-Encoding:
|
107
|
+
- chunked
|
108
|
+
Cache-Control:
|
109
|
+
- private
|
110
|
+
Content-Type:
|
111
|
+
- multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=1";start-info="text/xml"
|
112
|
+
body:
|
113
|
+
encoding: US-ASCII
|
114
|
+
string: ! "\r\n--uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=1\r\nContent-ID:
|
115
|
+
<http://tempuri.org/0>\r\nContent-Transfer-Encoding: 8bit\r\nContent-Type:
|
116
|
+
application/xop+xml;charset=utf-8;type=\"text/xml\"\r\n\r\n<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body
|
117
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><LoginResponse
|
118
|
+
xmlns=\"http://campaignmaster.com.au\"><LoginResult><TokenString>testtoken</TokenString><MinutesTillTokenExpires>480</MinutesTillTokenExpires></LoginResult></LoginResponse></s:Body></s:Envelope>\r\n--uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=1--\r\n"
|
119
|
+
http_version:
|
120
|
+
recorded_at: Mon, 22 Apr 2013 17:36:58 GMT
|
121
|
+
- request:
|
122
|
+
method: get
|
123
|
+
uri: http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl
|
124
|
+
body:
|
125
|
+
encoding: US-ASCII
|
126
|
+
string: ''
|
127
|
+
headers:
|
128
|
+
Accept:
|
129
|
+
- ! '*/*'
|
130
|
+
User-Agent:
|
131
|
+
- Ruby
|
132
|
+
response:
|
133
|
+
status:
|
134
|
+
code: 200
|
135
|
+
message: OK
|
136
|
+
headers:
|
137
|
+
Date:
|
138
|
+
- Mon, 22 Apr 2013 17:36:58 GMT
|
139
|
+
Server:
|
140
|
+
- Microsoft-IIS/6.0
|
141
|
+
X-Powered-By:
|
142
|
+
- ASP.NET
|
143
|
+
X-Aspnet-Version:
|
144
|
+
- 4.0.30319
|
145
|
+
Content-Length:
|
146
|
+
- '3663'
|
147
|
+
Cache-Control:
|
148
|
+
- private
|
149
|
+
Content-Type:
|
150
|
+
- text/xml; charset=UTF-8
|
151
|
+
body:
|
152
|
+
encoding: US-ASCII
|
153
|
+
string: <?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="CampaignMasterJobService"
|
154
|
+
targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
155
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
156
|
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
157
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
158
|
+
xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
159
|
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://campaignmaster.com.au"
|
160
|
+
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
|
161
|
+
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing"
|
162
|
+
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy
|
163
|
+
wsu:Id="BasicHttpBinding_ICampaignMasterJobService_policy"><wsp:ExactlyOne><wsp:All><wsoma:OptimizedMimeSerialization
|
164
|
+
xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"/><sp:TransportBinding
|
165
|
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy><sp:TransportToken><wsp:Policy><sp:HttpsToken
|
166
|
+
RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import
|
167
|
+
namespace="http://campaignmaster.com.au" location="http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl=wsdl0"/><wsdl:types/><wsdl:binding
|
168
|
+
name="BasicHttpBinding_ICampaignMasterJobService" type="i0:ICampaignMasterJobService"><wsp:PolicyReference
|
169
|
+
URI="#BasicHttpBinding_ICampaignMasterJobService_policy"/><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation
|
170
|
+
name="Login"><soap:operation soapAction="http://campaignmaster.com.au/IAPIService/Login"
|
171
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
172
|
+
use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetServerTime"><soap:operation
|
173
|
+
soapAction="http://campaignmaster.com.au/IAPIService/GetServerTime" style="document"/><wsdl:input><soap:body
|
174
|
+
use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
175
|
+
name="SubmitImportJob"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"
|
176
|
+
style="document"/><wsdl:input name="SubmitJobRequest"><soap:header message="i0:SubmitJobRequest_Headers"
|
177
|
+
part="JobDefinition" use="literal"/><soap:header message="i0:SubmitJobRequest_Headers"
|
178
|
+
part="SecurityToken" use="literal"/><soap:body use="literal"/></wsdl:input><wsdl:output
|
179
|
+
name="JobSubmissionResultMessage"><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
180
|
+
name="GetJobResult"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/GetJobResult"
|
181
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
182
|
+
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
|
183
|
+
name="CampaignMasterJobService"><wsdl:port name="BasicHttpBinding_ICampaignMasterJobService"
|
184
|
+
binding="tns:BasicHttpBinding_ICampaignMasterJobService"><soap:address location="https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc"/></wsdl:port></wsdl:service></wsdl:definitions>
|
185
|
+
http_version:
|
186
|
+
recorded_at: Mon, 22 Apr 2013 17:36:58 GMT
|
187
|
+
- request:
|
188
|
+
method: post
|
189
|
+
uri: https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc
|
190
|
+
body:
|
191
|
+
encoding: US-ASCII
|
192
|
+
string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?><S:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
|
193
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://tempuri.org/\"
|
194
|
+
xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns2=\"http://campaignmaster.com.au\"
|
195
|
+
xmlns:ns3=\"http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts\"
|
196
|
+
xmlns:ns4=\"http://schemas.microsoft.com/2003/10/Serialization/\" xmlns:ns5=\"http://schemas.datacontract.org/2004/07/ECM.Model\"
|
197
|
+
xmlns:ns1381=\"http://campaignmaster.com.au\"><S:Header><ns2:SecurityToken><ns3:Value>testtoken</ns3:Value></ns2:SecurityToken><ns2:JobDefinition><ns3:Delimiter>test@example.org,Test
|
198
|
+
Subscriber,1\r\ntest2@example.org,Test Subscriber 2</ns3:Delimiter><ns3:Filename>import.txt</ns3:Filename><ns3:InsertSettings><ns5:AllowImport>true</ns5:AllowImport><ns5:MakeActive>true</ns5:MakeActive><ns5:MakeVerified>true</ns5:MakeVerified></ns3:InsertSettings><ns3:PrimaryKey>EmailAddress</ns3:PrimaryKey><ns3:UpdateSettings><ns5:AllowImport>true</ns5:AllowImport><ns5:MakeActive>true</ns5:MakeActive><ns5:MakeVerified>true</ns5:MakeVerified></ns3:UpdateSettings><ns3:UseFirstDuplicate>1</ns3:UseFirstDuplicate></ns2:JobDefinition></S:Header><S:Body><SubmitJobRequest
|
199
|
+
xmlns=\"http://campaignmaster.com.au\"><FileToImport>RW1haWxBZGRyZXNzLEZpcnN0X05hbWUsSXNBY3RpdmUNCg0KLA==\n</FileToImport></SubmitJobRequest></S:Body></S:Envelope>"
|
200
|
+
headers:
|
201
|
+
Soapaction:
|
202
|
+
- ! '"http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"'
|
203
|
+
Content-Type:
|
204
|
+
- text/xml;charset=UTF-8
|
205
|
+
Content-Length:
|
206
|
+
- '1503'
|
207
|
+
Accept:
|
208
|
+
- ! '*/*'
|
209
|
+
User-Agent:
|
210
|
+
- Ruby
|
211
|
+
response:
|
212
|
+
status:
|
213
|
+
code: 200
|
214
|
+
message: OK
|
215
|
+
headers:
|
216
|
+
Date:
|
217
|
+
- Mon, 22 Apr 2013 17:36:58 GMT
|
218
|
+
Server:
|
219
|
+
- Microsoft-IIS/6.0
|
220
|
+
X-Powered-By:
|
221
|
+
- ASP.NET
|
222
|
+
X-Aspnet-Version:
|
223
|
+
- 4.0.30319
|
224
|
+
Mime-Version:
|
225
|
+
- '1.0'
|
226
|
+
Transfer-Encoding:
|
227
|
+
- chunked
|
228
|
+
Cache-Control:
|
229
|
+
- private
|
230
|
+
Content-Type:
|
231
|
+
- multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=2";start-info="text/xml"
|
232
|
+
body:
|
233
|
+
encoding: US-ASCII
|
234
|
+
string: ! "\r\n--uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=2\r\nContent-ID:
|
235
|
+
<http://tempuri.org/0>\r\nContent-Transfer-Encoding: 8bit\r\nContent-Type:
|
236
|
+
application/xop+xml;charset=utf-8;type=\"text/xml\"\r\n\r\n<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body><JobSubmissionResultMessage
|
237
|
+
xmlns=\"http://campaignmaster.com.au\"><JobId>123456</JobId></JobSubmissionResultMessage></s:Body></s:Envelope>\r\n--uuid:fce5172b-0f2c-439c-8ab8-89822c5a80f8+id=2--\r\n"
|
238
|
+
http_version:
|
239
|
+
recorded_at: Mon, 22 Apr 2013 17:36:58 GMT
|
240
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,121 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 22 Apr 2013 16:35:11 GMT
|
21
|
+
Server:
|
22
|
+
- Microsoft-IIS/6.0
|
23
|
+
X-Powered-By:
|
24
|
+
- ASP.NET
|
25
|
+
X-Aspnet-Version:
|
26
|
+
- 4.0.30319
|
27
|
+
Content-Length:
|
28
|
+
- '3663'
|
29
|
+
Cache-Control:
|
30
|
+
- private
|
31
|
+
Content-Type:
|
32
|
+
- text/xml; charset=UTF-8
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: <?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="CampaignMasterJobService"
|
36
|
+
targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
37
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
38
|
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
39
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
40
|
+
xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
41
|
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://campaignmaster.com.au"
|
42
|
+
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
|
43
|
+
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing"
|
44
|
+
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy
|
45
|
+
wsu:Id="BasicHttpBinding_ICampaignMasterJobService_policy"><wsp:ExactlyOne><wsp:All><wsoma:OptimizedMimeSerialization
|
46
|
+
xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"/><sp:TransportBinding
|
47
|
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy><sp:TransportToken><wsp:Policy><sp:HttpsToken
|
48
|
+
RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import
|
49
|
+
namespace="http://campaignmaster.com.au" location="http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl=wsdl0"/><wsdl:types/><wsdl:binding
|
50
|
+
name="BasicHttpBinding_ICampaignMasterJobService" type="i0:ICampaignMasterJobService"><wsp:PolicyReference
|
51
|
+
URI="#BasicHttpBinding_ICampaignMasterJobService_policy"/><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation
|
52
|
+
name="Login"><soap:operation soapAction="http://campaignmaster.com.au/IAPIService/Login"
|
53
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
54
|
+
use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetServerTime"><soap:operation
|
55
|
+
soapAction="http://campaignmaster.com.au/IAPIService/GetServerTime" style="document"/><wsdl:input><soap:body
|
56
|
+
use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
57
|
+
name="SubmitImportJob"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"
|
58
|
+
style="document"/><wsdl:input name="SubmitJobRequest"><soap:header message="i0:SubmitJobRequest_Headers"
|
59
|
+
part="JobDefinition" use="literal"/><soap:header message="i0:SubmitJobRequest_Headers"
|
60
|
+
part="SecurityToken" use="literal"/><soap:body use="literal"/></wsdl:input><wsdl:output
|
61
|
+
name="JobSubmissionResultMessage"><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
62
|
+
name="GetJobResult"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/GetJobResult"
|
63
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
64
|
+
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
|
65
|
+
name="CampaignMasterJobService"><wsdl:port name="BasicHttpBinding_ICampaignMasterJobService"
|
66
|
+
binding="tns:BasicHttpBinding_ICampaignMasterJobService"><soap:address location="https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc"/></wsdl:port></wsdl:service></wsdl:definitions>
|
67
|
+
http_version:
|
68
|
+
recorded_at: Mon, 22 Apr 2013 16:35:11 GMT
|
69
|
+
- request:
|
70
|
+
method: post
|
71
|
+
uri: https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc
|
72
|
+
body:
|
73
|
+
encoding: US-ASCII
|
74
|
+
string: <?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
75
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"
|
76
|
+
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://campaignmaster.com.au"
|
77
|
+
xmlns:ns3="http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts"
|
78
|
+
xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:ns5="http://schemas.datacontract.org/2004/07/ECM.Model"
|
79
|
+
xmlns:ns1381="http://campaignmaster.com.au"><S:Body><Login xmlns="http://campaignmaster.com.au"><clientID>123</clientID><userName>derek</userName><password>secret</password></Login></S:Body></S:Envelope>
|
80
|
+
headers:
|
81
|
+
Soapaction:
|
82
|
+
- ! '"http://campaignmaster.com.au/IAPIService/Login"'
|
83
|
+
Content-Type:
|
84
|
+
- text/xml;charset=UTF-8
|
85
|
+
Content-Length:
|
86
|
+
- '703'
|
87
|
+
Accept:
|
88
|
+
- ! '*/*'
|
89
|
+
User-Agent:
|
90
|
+
- Ruby
|
91
|
+
response:
|
92
|
+
status:
|
93
|
+
code: 200
|
94
|
+
message: OK
|
95
|
+
headers:
|
96
|
+
Date:
|
97
|
+
- Mon, 22 Apr 2013 16:35:12 GMT
|
98
|
+
Server:
|
99
|
+
- Microsoft-IIS/6.0
|
100
|
+
X-Powered-By:
|
101
|
+
- ASP.NET
|
102
|
+
X-Aspnet-Version:
|
103
|
+
- 4.0.30319
|
104
|
+
Mime-Version:
|
105
|
+
- '1.0'
|
106
|
+
Transfer-Encoding:
|
107
|
+
- chunked
|
108
|
+
Cache-Control:
|
109
|
+
- private
|
110
|
+
Content-Type:
|
111
|
+
- multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878";start-info="text/xml"
|
112
|
+
body:
|
113
|
+
encoding: US-ASCII
|
114
|
+
string: ! "\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878\r\nContent-ID:
|
115
|
+
<http://tempuri.org/0>\r\nContent-Transfer-Encoding: 8bit\r\nContent-Type:
|
116
|
+
application/xop+xml;charset=utf-8;type=\"text/xml\"\r\n\r\n<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body
|
117
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><LoginResponse
|
118
|
+
xmlns=\"http://campaignmaster.com.au\"><LoginResult><TokenString>secrettoken</TokenString><MinutesTillTokenExpires>480</MinutesTillTokenExpires></LoginResult></LoginResponse></s:Body></s:Envelope>\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878--\r\n"
|
119
|
+
http_version:
|
120
|
+
recorded_at: Mon, 22 Apr 2013 16:35:12 GMT
|
121
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,121 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 22 Apr 2013 16:35:11 GMT
|
21
|
+
Server:
|
22
|
+
- Microsoft-IIS/6.0
|
23
|
+
X-Powered-By:
|
24
|
+
- ASP.NET
|
25
|
+
X-Aspnet-Version:
|
26
|
+
- 4.0.30319
|
27
|
+
Content-Length:
|
28
|
+
- '3663'
|
29
|
+
Cache-Control:
|
30
|
+
- private
|
31
|
+
Content-Type:
|
32
|
+
- text/xml; charset=UTF-8
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: <?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="CampaignMasterJobService"
|
36
|
+
targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
37
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
38
|
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
39
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
40
|
+
xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
41
|
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://campaignmaster.com.au"
|
42
|
+
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
|
43
|
+
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing"
|
44
|
+
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy
|
45
|
+
wsu:Id="BasicHttpBinding_ICampaignMasterJobService_policy"><wsp:ExactlyOne><wsp:All><wsoma:OptimizedMimeSerialization
|
46
|
+
xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"/><sp:TransportBinding
|
47
|
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy><sp:TransportToken><wsp:Policy><sp:HttpsToken
|
48
|
+
RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import
|
49
|
+
namespace="http://campaignmaster.com.au" location="http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl=wsdl0"/><wsdl:types/><wsdl:binding
|
50
|
+
name="BasicHttpBinding_ICampaignMasterJobService" type="i0:ICampaignMasterJobService"><wsp:PolicyReference
|
51
|
+
URI="#BasicHttpBinding_ICampaignMasterJobService_policy"/><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation
|
52
|
+
name="Login"><soap:operation soapAction="http://campaignmaster.com.au/IAPIService/Login"
|
53
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
54
|
+
use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetServerTime"><soap:operation
|
55
|
+
soapAction="http://campaignmaster.com.au/IAPIService/GetServerTime" style="document"/><wsdl:input><soap:body
|
56
|
+
use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
57
|
+
name="SubmitImportJob"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"
|
58
|
+
style="document"/><wsdl:input name="SubmitJobRequest"><soap:header message="i0:SubmitJobRequest_Headers"
|
59
|
+
part="JobDefinition" use="literal"/><soap:header message="i0:SubmitJobRequest_Headers"
|
60
|
+
part="SecurityToken" use="literal"/><soap:body use="literal"/></wsdl:input><wsdl:output
|
61
|
+
name="JobSubmissionResultMessage"><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
62
|
+
name="GetJobResult"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/GetJobResult"
|
63
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
64
|
+
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
|
65
|
+
name="CampaignMasterJobService"><wsdl:port name="BasicHttpBinding_ICampaignMasterJobService"
|
66
|
+
binding="tns:BasicHttpBinding_ICampaignMasterJobService"><soap:address location="https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc"/></wsdl:port></wsdl:service></wsdl:definitions>
|
67
|
+
http_version:
|
68
|
+
recorded_at: Mon, 22 Apr 2013 16:35:11 GMT
|
69
|
+
- request:
|
70
|
+
method: post
|
71
|
+
uri: https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc
|
72
|
+
body:
|
73
|
+
encoding: US-ASCII
|
74
|
+
string: <?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
75
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"
|
76
|
+
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://campaignmaster.com.au"
|
77
|
+
xmlns:ns3="http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts"
|
78
|
+
xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:ns5="http://schemas.datacontract.org/2004/07/ECM.Model"
|
79
|
+
xmlns:ns1381="http://campaignmaster.com.au"><S:Body><Login xmlns="http://campaignmaster.com.au"><clientID>123</clientID><userName>derek</userName><password>secret</password></Login></S:Body></S:Envelope>
|
80
|
+
headers:
|
81
|
+
Soapaction:
|
82
|
+
- ! '"http://campaignmaster.com.au/IAPIService/Login"'
|
83
|
+
Content-Type:
|
84
|
+
- text/xml;charset=UTF-8
|
85
|
+
Content-Length:
|
86
|
+
- '703'
|
87
|
+
Accept:
|
88
|
+
- ! '*/*'
|
89
|
+
User-Agent:
|
90
|
+
- Ruby
|
91
|
+
response:
|
92
|
+
status:
|
93
|
+
code: 200
|
94
|
+
message: OK
|
95
|
+
headers:
|
96
|
+
Date:
|
97
|
+
- Mon, 22 Apr 2013 16:35:12 GMT
|
98
|
+
Server:
|
99
|
+
- Microsoft-IIS/6.0
|
100
|
+
X-Powered-By:
|
101
|
+
- ASP.NET
|
102
|
+
X-Aspnet-Version:
|
103
|
+
- 4.0.30319
|
104
|
+
Mime-Version:
|
105
|
+
- '1.0'
|
106
|
+
Transfer-Encoding:
|
107
|
+
- chunked
|
108
|
+
Cache-Control:
|
109
|
+
- private
|
110
|
+
Content-Type:
|
111
|
+
- multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878";start-info="text/xml"
|
112
|
+
body:
|
113
|
+
encoding: US-ASCII
|
114
|
+
string: ! "\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878\r\nContent-ID:
|
115
|
+
<http://tempuri.org/0>\r\nContent-Transfer-Encoding: 8bit\r\nContent-Type:
|
116
|
+
application/xop+xml;charset=utf-8;type=\"text/xml\"\r\n\r\n<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body
|
117
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><LoginResponse
|
118
|
+
xmlns=\"http://campaignmaster.com.au\"><LoginResult><TokenString>newsecrettoken</TokenString><MinutesTillTokenExpires>480</MinutesTillTokenExpires></LoginResult></LoginResponse></s:Body></s:Envelope>\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5878--\r\n"
|
119
|
+
http_version:
|
120
|
+
recorded_at: Mon, 22 Apr 2013 16:35:12 GMT
|
121
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,120 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 22 Apr 2013 16:38:43 GMT
|
21
|
+
Server:
|
22
|
+
- Microsoft-IIS/6.0
|
23
|
+
X-Powered-By:
|
24
|
+
- ASP.NET
|
25
|
+
X-Aspnet-Version:
|
26
|
+
- 4.0.30319
|
27
|
+
Content-Length:
|
28
|
+
- '3663'
|
29
|
+
Cache-Control:
|
30
|
+
- private
|
31
|
+
Content-Type:
|
32
|
+
- text/xml; charset=UTF-8
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: <?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="CampaignMasterJobService"
|
36
|
+
targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
37
|
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
38
|
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
39
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
40
|
+
xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
41
|
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:i0="http://campaignmaster.com.au"
|
42
|
+
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
|
43
|
+
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing"
|
44
|
+
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy
|
45
|
+
wsu:Id="BasicHttpBinding_ICampaignMasterJobService_policy"><wsp:ExactlyOne><wsp:All><wsoma:OptimizedMimeSerialization
|
46
|
+
xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"/><sp:TransportBinding
|
47
|
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy><sp:TransportToken><wsp:Policy><sp:HttpsToken
|
48
|
+
RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import
|
49
|
+
namespace="http://campaignmaster.com.au" location="http://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc?wsdl=wsdl0"/><wsdl:types/><wsdl:binding
|
50
|
+
name="BasicHttpBinding_ICampaignMasterJobService" type="i0:ICampaignMasterJobService"><wsp:PolicyReference
|
51
|
+
URI="#BasicHttpBinding_ICampaignMasterJobService_policy"/><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation
|
52
|
+
name="Login"><soap:operation soapAction="http://campaignmaster.com.au/IAPIService/Login"
|
53
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
54
|
+
use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetServerTime"><soap:operation
|
55
|
+
soapAction="http://campaignmaster.com.au/IAPIService/GetServerTime" style="document"/><wsdl:input><soap:body
|
56
|
+
use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
57
|
+
name="SubmitImportJob"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/SubmitImportJob"
|
58
|
+
style="document"/><wsdl:input name="SubmitJobRequest"><soap:header message="i0:SubmitJobRequest_Headers"
|
59
|
+
part="JobDefinition" use="literal"/><soap:header message="i0:SubmitJobRequest_Headers"
|
60
|
+
part="SecurityToken" use="literal"/><soap:body use="literal"/></wsdl:input><wsdl:output
|
61
|
+
name="JobSubmissionResultMessage"><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation
|
62
|
+
name="GetJobResult"><soap:operation soapAction="http://campaignmaster.com.au/ICampaignMasterJobService/GetJobResult"
|
63
|
+
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
|
64
|
+
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
|
65
|
+
name="CampaignMasterJobService"><wsdl:port name="BasicHttpBinding_ICampaignMasterJobService"
|
66
|
+
binding="tns:BasicHttpBinding_ICampaignMasterJobService"><soap:address location="https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc"/></wsdl:port></wsdl:service></wsdl:definitions>
|
67
|
+
http_version:
|
68
|
+
recorded_at: Mon, 22 Apr 2013 16:38:43 GMT
|
69
|
+
- request:
|
70
|
+
method: post
|
71
|
+
uri: https://api.campaignmaster.co.uk/v1.1/CampaignMasterJobService.svc
|
72
|
+
body:
|
73
|
+
encoding: US-ASCII
|
74
|
+
string: <?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
75
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"
|
76
|
+
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://campaignmaster.com.au"
|
77
|
+
xmlns:ns3="http://schemas.datacontract.org/2004/07/ECM.BLL.WebServices.Client.API.DataContracts"
|
78
|
+
xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:ns5="http://schemas.datacontract.org/2004/07/ECM.Model"
|
79
|
+
xmlns:ns1381="http://campaignmaster.com.au"><S:Body><Login xmlns="http://campaignmaster.com.au"><clientID>123</clientID><userName>derek</userName><password>badsecret</password></Login></S:Body></S:Envelope>
|
80
|
+
headers:
|
81
|
+
Soapaction:
|
82
|
+
- ! '"http://campaignmaster.com.au/IAPIService/Login"'
|
83
|
+
Content-Type:
|
84
|
+
- text/xml;charset=UTF-8
|
85
|
+
Content-Length:
|
86
|
+
- '699'
|
87
|
+
Accept:
|
88
|
+
- ! '*/*'
|
89
|
+
User-Agent:
|
90
|
+
- Ruby
|
91
|
+
response:
|
92
|
+
status:
|
93
|
+
code: 500
|
94
|
+
message: Internal Server Error
|
95
|
+
headers:
|
96
|
+
Connection:
|
97
|
+
- close
|
98
|
+
Date:
|
99
|
+
- Mon, 22 Apr 2013 16:38:43 GMT
|
100
|
+
Server:
|
101
|
+
- Microsoft-IIS/6.0
|
102
|
+
X-Powered-By:
|
103
|
+
- ASP.NET
|
104
|
+
X-Aspnet-Version:
|
105
|
+
- 4.0.30319
|
106
|
+
Mime-Version:
|
107
|
+
- '1.0'
|
108
|
+
Cache-Control:
|
109
|
+
- private
|
110
|
+
Content-Type:
|
111
|
+
- multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5880";start-info="text/xml"
|
112
|
+
body:
|
113
|
+
encoding: US-ASCII
|
114
|
+
string: ! "\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5880\r\nContent-ID:
|
115
|
+
<http://tempuri.org/0>\r\nContent-Transfer-Encoding: 8bit\r\nContent-Type:
|
116
|
+
application/xop+xml;charset=utf-8;type=\"text/xml\"\r\n\r\n<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body><s:Fault><faultcode>s:InvalidLogin</faultcode><faultstring
|
117
|
+
xml:lang=\"en-GB\">Invalid Login</faultstring></s:Fault></s:Body></s:Envelope>\r\n--uuid:df9c2c52-6f6a-4559-ac70-9c4116202651+id=5880--\r\n"
|
118
|
+
http_version:
|
119
|
+
recorded_at: Mon, 22 Apr 2013 16:38:43 GMT
|
120
|
+
recorded_with: VCR 2.4.0
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "bundler"
|
2
|
+
Bundler.setup(:default, :test)
|
3
|
+
|
4
|
+
require "campaign_master"
|
5
|
+
require "webmock/rspec"
|
6
|
+
require "vcr"
|
7
|
+
require "rspec"
|
8
|
+
|
9
|
+
support_files = File.expand_path("spec/support/**/*.rb")
|
10
|
+
Dir[support_files].each { |file| require file }
|
11
|
+
|
12
|
+
VCR.configure do |config|
|
13
|
+
config.cassette_library_dir = "spec/fixtures/vcr_cassettes"
|
14
|
+
config.hook_into :webmock
|
15
|
+
end
|
16
|
+
|
17
|
+
RSpec.configure do |config|
|
18
|
+
config.order = "random"
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: campaign_master
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -81,7 +81,28 @@ executables: []
|
|
81
81
|
extensions: []
|
82
82
|
extra_rdoc_files: []
|
83
83
|
files:
|
84
|
+
- .gitignore
|
85
|
+
- .travis.yml
|
86
|
+
- Gemfile
|
87
|
+
- Gemfile.lock
|
88
|
+
- README.md
|
89
|
+
- campaign_master.gemspec
|
84
90
|
- lib/campaign_master.rb
|
91
|
+
- lib/campaign_master/client.rb
|
92
|
+
- lib/campaign_master/savon.rb
|
93
|
+
- lib/campaign_master/soap_client.rb
|
94
|
+
- lib/campaign_master/subscriber.rb
|
95
|
+
- spec/campaign_master/client_spec.rb
|
96
|
+
- spec/campaign_master/savon_spec.rb
|
97
|
+
- spec/campaign_master/soap_client_spec.rb
|
98
|
+
- spec/campaign_master/subscriber_spec.rb
|
99
|
+
- spec/fixtures/vcr_cassettes/login_import_successful.yml
|
100
|
+
- spec/fixtures/vcr_cassettes/login_successful.yml
|
101
|
+
- spec/fixtures/vcr_cassettes/login_successful_new_token.yml
|
102
|
+
- spec/fixtures/vcr_cassettes/login_unsuccessful.yml
|
103
|
+
- spec/spec_helper.rb
|
104
|
+
- spec/support/client_support.rb
|
105
|
+
- spec/support/subscriber_support.rb
|
85
106
|
homepage: https://github.com/madebymade/campaignmasterrb
|
86
107
|
licenses: []
|
87
108
|
post_install_message:
|