分散トランザクション処理機能 TP1/Connector for .NET Framework 使用の手引

[目次][用語][索引][前へ][次へ]

1.6.4 ASP.NET XML Webサービスの動作設定

<この項の構成>
(1) ASP.NET XML Webサービスの設定
(2) ASP.NET XML Webサービスクラスのソースコード例

(1) ASP.NET XML Webサービスの設定

属性を修正したい場合やデータを加工したい場合には,ASP.NET XML Webサービスのソースプログラムの分離コードファイルを変更します。

また,ASP.NET XML Webサービスの動作は,生成時に指定する運用コマンドのオプションでも設定できます。指定できるオプションを次の表に示します。

表1-13 ASP.NET XML Webサービスクラス生成時に運用コマンドのオプションで指定できる項目

オプション名 パラメタ 指定項目
-S docまたはrpc SOAP Body全体の書式
-x literalまたはencoded SOAPパラメタの書式指定スタイル
-w ユーザ指定 XML Webサービスの名前空間のURI
-N ユーザ指定 SOAP要求およびSOAP応答に関連づけられる名前空間のURI
-B wsibp11またはnone XML Webサービスクラスが準拠していることを示すWS-Iの仕様
-A trueまたはfalse Webサービス記述言語でのWS-I Basic Profile準拠の表示の有無
注※
このオプションは,SOAP Body全体の書式がDocumentの場合にだけ有効です。

(2) ASP.NET XML Webサービスクラスのソースコード例

指定したオプションは,次のようにASP.NET XML Webサービスクラスのソースコードに反映されます。

【ASP.NET XML Webサービスクラスのソースコード例】
//-wで指定した値
[WebService(Namespace="http://tempuri.org/")]
 
//-Sにdocを指定した場合
[SoapDocumentService(SoapBindingUse.Literal)]
public class sampleClassWebService : WebService {
 
//-Bにnoneを指定した場合
[WebServiceBinding(ConformsTo=WsiProfiles.None,
 
//-Aにtrueを指定した場合
EmitConformanceClaims=true)]
 
//-xおよび-Nで指定した値
[SoapDocumentMethod(RequestNamespace="http://tempuri.org/",
 ResponseNamespace="http://tempuri.org/")]
     [WebMethod()]
     public Record2 Service1(Record1 param0) {
         try {
             sampleClassProxy proxyClass = 
               new sampleClassProxy();
             Record2 outRecord = new Record2();
             proxyClass.Service1(param0, outRecord);
             return outRecord;
         }
         catch (Hitachi.OpenTP1.TP1Exception tp1e) {
             System.Type t = tp1e.GetType();
             string className = t.FullName;
             string tp1eMessage = tp1e.Message;
             string errorCode = 
               ("ErrorCode = " + tp1e.ErrorCode);
             string ErrorStr = (className + ": ");
             ErrorStr = (ErrorStr + tp1eMessage);
             ErrorStr = (ErrorStr + " ");
             ErrorStr = (ErrorStr + errorCode);
             throw new SoapException
               (ErrorStr, SoapException.ServerFaultCode, tp1e);
         }
     }
}