Skip to content

Commit f8e4c70

Browse files
committed
Add ServiceStack JsonServiceClient as IntegrationPoint
1 parent f6b4418 commit f8e4c70

13 files changed

+140
-3
lines changed

IntegrationEngine.Core.net40/IntegrationEngine.Core.net40.csproj

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,15 @@
7676
<Reference Include="Newtonsoft.Json">
7777
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net40\Newtonsoft.Json.dll</HintPath>
7878
</Reference>
79+
<Reference Include="ServiceStack.Interfaces">
80+
<HintPath>..\packages\ServiceStack.Interfaces.4.0.36\lib\portable-wp80+sl5+net40+win8+monotouch+monoandroid\ServiceStack.Interfaces.dll</HintPath>
81+
</Reference>
82+
<Reference Include="ServiceStack.Text">
83+
<HintPath>..\packages\ServiceStack.Text.4.0.36\lib\net40\ServiceStack.Text.dll</HintPath>
84+
</Reference>
85+
<Reference Include="ServiceStack.Client">
86+
<HintPath>..\packages\ServiceStack.Client.4.0.36\lib\net40\ServiceStack.Client.dll</HintPath>
87+
</Reference>
7988
</ItemGroup>
8089
<ItemGroup>
8190
<Compile Include="..\configuration\SharedAssemblyInfo.cs">
@@ -202,6 +211,18 @@
202211
<Compile Include="..\IntegrationEngine.Core\Configuration\IRabbitMQConfiguration.cs">
203212
<Link>IRabbitMQConfiguration.cs</Link>
204213
</Compile>
214+
<Compile Include="..\IntegrationEngine.Core\Configuration\JsonServiceConfiguration.cs">
215+
<Link>JsonServiceConfiguration.cs</Link>
216+
</Compile>
217+
<Compile Include="..\IntegrationEngine.Core\Configuration\IJsonServiceConfiguration.cs">
218+
<Link>IJsonServiceConfiguration.cs</Link>
219+
</Compile>
220+
<Compile Include="..\IntegrationEngine.Core\ServiceStack\IJsonServiceClient.cs">
221+
<Link>IJsonServiceClient.cs</Link>
222+
</Compile>
223+
<Compile Include="..\IntegrationEngine.Core\ServiceStack\JsonServiceClientAdapter.cs">
224+
<Link>JsonServiceClientAdapter.cs</Link>
225+
</Compile>
205226
</ItemGroup>
206227
<ItemGroup>
207228
<None Include="App.config" />

IntegrationEngine.Core.net40/packages.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@
1111
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net40" />
1212
<package id="NLog" version="3.1.0.0" targetFramework="net40" />
1313
<package id="RabbitMQ.Client" version="3.4.3" targetFramework="net40" />
14+
<package id="ServiceStack.Client" version="4.0.36" targetFramework="net40" />
15+
<package id="ServiceStack.Interfaces" version="4.0.36" targetFramework="net40" />
16+
<package id="ServiceStack.Text" version="4.0.36" targetFramework="net40" />
1417
</packages>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
3+
namespace IntegrationEngine.Core.Configuration
4+
{
5+
public interface IJsonServiceConfiguration : IIntegrationPointConfiguration
6+
{
7+
string BaseUri { get; set; }
8+
string UserName { get; set; }
9+
string Password { get; set; }
10+
bool IgnoreInvalidSslCertificate { get; set; }
11+
}
12+
}
13+

IntegrationEngine.Core/Configuration/IntegrationPointConfigurations.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ public class IntegrationPointConfigurations
88
public List<MailConfiguration> Mail { get; set; }
99
public List<RabbitMQConfiguration> RabbitMQ { get; set; }
1010
public List<ElasticsearchConfiguration> Elasticsearch { get; set; }
11+
public List<JsonServiceConfiguration> JsonService { get; set; }
1112
}
1213
}
1314

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System.Linq;
2+
3+
namespace IntegrationEngine.Core.Configuration
4+
{
5+
public class JsonServiceConfiguration : IJsonServiceConfiguration
6+
{
7+
public string IntegrationPointName { get; set; }
8+
public string BaseUri { get; set; }
9+
public string UserName { get; set; }
10+
public string Password { get; set; }
11+
public bool IgnoreInvalidSslCertificate { get; set; }
12+
13+
public JsonServiceConfiguration()
14+
{
15+
}
16+
17+
public JsonServiceConfiguration(IEngineConfiguration engineConfiguration, string integrationPointName)
18+
: this()
19+
{
20+
var config = engineConfiguration.IntegrationPoints.JsonService.Single(x => x.IntegrationPointName == integrationPointName);
21+
IntegrationPointName = integrationPointName;
22+
BaseUri = config.BaseUri;
23+
UserName = config.UserName;
24+
Password = config.Password;
25+
IgnoreInvalidSslCertificate = config.IgnoreInvalidSslCertificate;
26+
}
27+
}
28+
}
29+

IntegrationEngine.Core/Configuration/RabbitMQConfiguration.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ public class RabbitMQConfiguration : IRabbitMQConfiguration
1313
public string VirtualHost { get; set; }
1414

1515
public RabbitMQConfiguration()
16-
{
17-
}
16+
{}
1817

1918
public RabbitMQConfiguration(IEngineConfiguration engineConfiguration, string integrationPointName)
2019
: this()

IntegrationEngine.Core/IntegrationEngine.Core.csproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@
7777
<Reference Include="Nest">
7878
<HintPath>..\packages\NEST.1.4.0\lib\net45\Nest.dll</HintPath>
7979
</Reference>
80+
<Reference Include="ServiceStack.Interfaces">
81+
<HintPath>..\packages\ServiceStack.Interfaces.4.0.36\lib\portable-wp80+sl5+net40+win8+monotouch+monoandroid\ServiceStack.Interfaces.dll</HintPath>
82+
</Reference>
83+
<Reference Include="ServiceStack.Text">
84+
<HintPath>..\packages\ServiceStack.Text.4.0.36\lib\net40\ServiceStack.Text.dll</HintPath>
85+
</Reference>
86+
<Reference Include="ServiceStack.Client">
87+
<HintPath>..\packages\ServiceStack.Client.4.0.36\lib\net40\ServiceStack.Client.dll</HintPath>
88+
</Reference>
8089
</ItemGroup>
8190
<ItemGroup>
8291
<Compile Include="..\configuration\SharedAssemblyInfo.cs">
@@ -132,6 +141,10 @@
132141
<Compile Include="MessageQueue\MessageQueueConnection.cs" />
133142
<Compile Include="MessageQueue\IRabbitMQClient.cs" />
134143
<Compile Include="MessageQueue\IMsmqClient.cs" />
144+
<Compile Include="ServiceStack\JsonServiceClientAdapter.cs" />
145+
<Compile Include="Configuration\JsonServiceConfiguration.cs" />
146+
<Compile Include="Configuration\IJsonServiceConfiguration.cs" />
147+
<Compile Include="ServiceStack\IJsonServiceClient.cs" />
135148
</ItemGroup>
136149
<ItemGroup>
137150
<None Include="App.config" />
@@ -158,4 +171,7 @@
158171
</Target>
159172
-->
160173
<ItemGroup />
174+
<ItemGroup>
175+
<Folder Include="ServiceStack\" />
176+
</ItemGroup>
161177
</Project>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using IntegrationEngine.Core.IntegrationPoint;
2+
using IntegrationEngine.Core.Configuration;
3+
using System;
4+
5+
namespace IntegrationEngine.Core.ServiceStack
6+
{
7+
public interface IJsonServiceClient : IIntegrationPoint<IJsonServiceConfiguration>
8+
{
9+
}
10+
}
11+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using ServiceStack;
2+
using IntegrationEngine.Core.Configuration;
3+
4+
namespace IntegrationEngine.Core.ServiceStack
5+
{
6+
public class JsonServiceClientAdapter : JsonServiceClient, IJsonServiceClient
7+
{
8+
public JsonServiceClientAdapter(IJsonServiceConfiguration jsonServiceConfiguration)
9+
: base(jsonServiceConfiguration.BaseUri)
10+
{
11+
UserName = jsonServiceConfiguration.UserName;
12+
Password = jsonServiceConfiguration.Password;
13+
}
14+
}
15+
}

IntegrationEngine.Core/packages.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@
1111
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" />
1212
<package id="NLog" version="3.1.0.0" targetFramework="net45" />
1313
<package id="RabbitMQ.Client" version="3.4.3" targetFramework="net45" />
14+
<package id="ServiceStack.Client" version="4.0.36" targetFramework="net45" />
15+
<package id="ServiceStack.Interfaces" version="4.0.36" targetFramework="net45" />
16+
<package id="ServiceStack.Text" version="4.0.36" targetFramework="net45" />
1417
</packages>

0 commit comments

Comments
 (0)