Web サービスの使用
TotalAgility で Web サービス レファレンスを使用するには、TotalAgility サーバーに Microsoft .NET Framework をインストールします。
Web サービスにアクセスするには、次の手順を実行します。
- Web サービス参照を作成する によって、URL などの情報を一元的に保存し、Web サービスを容易に選択および編集できます。
-
インターネット Web サービスとやりとりするには、Web サービス アクティビティを作成するか、Web サービス アクションを追加します。パブリック クラスとパブリック メソッドを備えたすべての Web サービスは、Web サービス アクティビティから呼び出すことができます。各パブリック メソッドには、変数を割り当てる必要があるパラメータのリストがあります。
SOAP UI を使用して WCF サービス メソッドをテストしていて、サービス メソッドに戻り型として Object がある場合は、問題を回避するために、データ型に基づいてリクエストの XML を更新する必要があります。文字列型を使用した次の例を参照してください。
SOAP UI を使用して TotalAgility の SDK サービスを呼び出す
SOAP が Object 以外のデータ型の値 (null を含む) を Object データ型のパラメータに送信すると、.NET は変換を読み取れません。したがって、SOAP UI を使用して WCF サービス メソッドをテストしていて、サービス メソッドに戻り型として Object がある場合は、.NET が変換を読み取れるようにするために、データ型に基づいてリクエストの XML を変更する必要があります。
入力タイプが 「Object」 データ型の場合のみ、XML を変更する必要があります。
CreateCase2() 用のサンプル XML では、Variable の Value プロパティは Object データ型です。String データ型を値に渡すように XML を変更します。
サービスへの入力として null 値を渡すには、XML を変更します。たとえば、開始日については次のように変更します。
<sdk:StartDate i:nil="true"></sdk:StartDate>
生成される XML は次のとおりです。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sdk="http://www.kofax.com/agility/services/sdk">
<soapenv:Header/>
<soapenv:Body>
<sdk:CreateCase2>
<!--Optional:-->
<sdk:sessionId>CF804840115111D48C6100104B71BD07</sdk:sessionId>
<!--Optional:-->
<sdk:processIdentity>
<sdk:Id>9CD1C8C5471F41C19C370E4BAD971F47</sdk:Id>
<sdk:Version>176.000</sdk:Version>
<sdk:Name>LAS_New_Request</sdk:Name>
</sdk:processIdentity>
<!--Optional:-->
<sdk:caseReference>POC_123_201402001</sdk:caseReference>
<!--Optional:-->
<sdk:caseInitialization>
<sdk:InputVariables>
<!--Zero or more repetitions:-->
<sdk:InputVariable>
<sdk:Id>MARKET</sdk:Id>
<sdk:Value>BIFA</sdk:Value>
</sdk:InputVariable>
<sdk:InputVariable>
<sdk:Id>POLICY_NUMBER</sdk:Id>
<sdk:Value>44/018/EUR/8508</sdk:Value>
</sdk:InputVariable>
<sdk:InputVariable>
<sdk:Id>POLICY_TYPE</sdk:Id>
<sdk:Value>PCP_VIP</sdk:Value>
</sdk:InputVariable>
<sdk:InputVariable>
<sdk:Id>TRANSACTION_ID</sdk:Id>
<sdk:Value>55555555</sdk:Value>
</sdk:InputVariable>
<sdk:InputVariable>
<sdk:Id>TRANSACTION_TYPE</sdk:Id>
<sdk:Value>WITHDRAWAL</sdk:Value>
</sdk:InputVariable>
<sdk:InputVariable>
<sdk:Id>INITIAL_CASE_TEAM</sdk:Id>
<sdk:Value>PCS - BFFM</sdk:Value>
</sdk:InputVariable>
</sdk:InputVariables>
<sdk:StartDate>?</sdk:StartDate>
</sdk:caseInitialization>
</sdk:CreateCase2>
</soapenv:Body>
</soapenv:Envelope>
-
次のように XML を変更します (コードの太字部分を参照)。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sdk="http://www.kofax.com/agility/services/sdk"> <soapenv:Header/> <soapenv:Body> <sdk:CreateCase2> <!--Optional:--> <sdk:sessionId>CF804840115111D48C6100104B71BD07</sdk:sessionId> <!--Optional:--> <sdk:processIdentity> <sdk:Id>9CD1C8C5471F41C19C370E4BAD971F47</sdk:Id> <sdk:Version>176.000</sdk:Version> <sdk:Name>LAS_New_Request</sdk:Name> </sdk:processIdentity> <!--Optional:--> <sdk:caseReference>POC_123_201402007</sdk:caseReference> <!--Optional:--> <sdk:caseInitialization xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <sdk:InputVariables> <!--Zero or more repetitions:--> <sdk:InputVariable> <sdk:Id>MARKET</sdk:Id> <sdk:Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">BIFA</sdk:Value> </sdk:InputVariable> </sdk:InputVariables> <sdk:StartDate i:nil="true"></sdk:StartDate> </sdk:caseInitialization> </sdk:CreateCase2> </soapenv:Body> </soapenv:Envelope>
-
次の応答が生成されます。この場合、次のようにケース ID が返されます (コードの太字部分を参照)。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <CreateCase2Response xmlns="http://www.kofax.com/agility/services/sdk"> <CreateCase2Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Id>F04EBA61C1A64F47885A80A766CA3B59</Id> </CreateCase2Result> </CreateCase2Response> </s:Body> </s:Envelope>