2.6.4 ASP.NET XML Webサービスの動作設定
(1) ASP.NET XML Webサービスの設定
属性を修正したい場合やデータを加工したい場合には,ASP.NET XML Webサービスのソースプログラムの分離コードファイルを変更します。
また,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); } } }