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サービスクラス生成時に運用コマンドのオプションで指定できる項目

オプション名パラメタ指定項目
-SdocまたはrpcSOAP Body全体の書式
-xliteralまたはencodedSOAPパラメタの書式指定スタイル
-wユーザ指定XML Webサービスの名前空間のURI
-Nユーザ指定SOAP要求およびSOAP応答に関連づけられる名前空間のURI
-Bwsibp11またはnoneXML Webサービスクラスが準拠していることを示すWS-Iの仕様
-AtrueまたはfalseWebサービス記述言語での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);
        }
    }
}