TP1IntegrationBindingで使用するサービスコントラクトおよびそのプロキシクラスは,アセンブリ(Hitachi.OpenTP1.ServiceModel.TP1Integration.dll)で提供します。そのため,サービスコントラクトをコーディングし,プロキシクラスを生成する必要はありません。
サービスコントラクトおよびそのプロキシクラスは次の名称で提供しています。
TP1IntegrationBindingで提供するサービスコントラクトの内容を次に示します。
using System.ServiceModel;
namespace Hitachi.OpenTP1.ServiceModel.TP1Integration
{
[ServiceContract(
CallbackContract=null,
ConfigurationName=
"Hitachi.OpenTP1.ServiceModel.TP1Integration.ITP1Rpc",
Name="ITP1Rpc",
ProtectionLevel=System.Net.Security.ProtectionLevel.None,
SessionMode=SessionMode.NotAllowed)]
public interface ITP1Rpc
{
[OperationContract(
AsyncPattern=false,
IsOneWay=false,
Name="Call",
ProtectionLevel=System.Net.Security.ProtectionLevel.None,
[TransactionFlow(TransactionFlowOption.Allowed)]
void Call(string serviceName, byte[] inData, int inLength,
ref byte[] outData, ref int outLength);
}
}
Imports System.ServiceModel
Namespace Hitachi.OpenTP1.ServiceModel.TP1Integration
<ServiceContract( _
CallbackContract:=Nothing, _
ConfigurationName:= _
"Hitachi.OpenTP1.ServiceModel.TP1Integration.ITP1Rpc", _
Name:="ITP1Rpc", _
ProtectionLevel:=Net.Security.ProtectionLevel.None, _
SessionMode:=SessionMode.NotAllowed)> _
Public Interface ITP1Rpc
<OperationContract( _
AsyncPattern:=False, _
IsOneWay:=False, _
Name:="Call", _
ProtectionLevel:= _
System.Net.Security.ProtectionLevel.None, _
<TransactionFlow(TransactionFlowOption.Allowed)> _
Sub [Call](ByVal service As String, _
ByVal inData() As Byte, ByVal inLength As Integer, _
ByRef outData() As Byte, ByRef outLength As Integer)
End Interface
End Namespace