分散トランザクション処理機能 TP1/Connector for .NET Framework 使用の手引
属性を修正したい場合やデータを加工したい場合には,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準拠の表示の有無 |
指定したオプションは,次のように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);
}
}
}All Rights Reserved. Copyright (C) 2006, 2009, Hitachi, Ltd.