次の方法で共有


WCF LOB アダプター SDK の WSDL-Proxy で名前空間を使用する

Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK は、WCF LOB アダプター開発ウィザードを使用して開発者が指定した値、または SERVICENAMESPACE プライベート変数やアダプターの プロパティを変更してコードで指定された値を使用して、アダプターの WSDL とプロキシを Namespace 生成します。

wsdl:types><スキーマ内で定義されている<スキーマ>型と要素では、既定で {OperationNamespace} が使用されます。 特定の型に TypeMetadata オブジェクトにオーバーライドされた TypeNamespace が設定されている場合、その名前空間は複合型または要素定義に使用されます。

WSDL への影響

次の表は、カスタム アダプターのさまざまな名前空間が対応する WSDL にどのように影響するかを示しています。 テーブルの ~{OperationNamespace} は URI のクラス名前空間マッピングです。たとえば、{OperationNamespace} が "myscheme://a.b/c" の場合、~{OperationNamespace} は myscheme.a.b.c になります。

WSDL コンストラクト 構文
WSDL targetNamespace、

Xmlns:ts
{Custom}Adapter.Namespace
<wsdl:portType> {scheme}.~{OperationNamespace}
WSDL 入力メッセージ名 {scheme}.~{OperationNamespace}_{OperationName}_InputMessage
WSDL 出力メッセージ名 {scheme}.~{OperationNamespace}_{OperationName}_OutputMessage
<wsdl:types><スキーマ> targetNamespace {scheme}://{OperationNamespace}
<element><complexType> 値が null または空でない場合は、{TypeNamespace} を使用します。

プロキシへの影響

プロキシ内の 3 つの異なる属性が名前空間の影響を受けます。

  • [System.ServiceModel.ServiceContractAttribute(Name="{scheme}.~{OperationNamespace}", Namespace="{Custom}Adapter.Namespace"]

  • [System.ServiceModel.MessageContractAttribute(WrapperName="DivideResponse", WrapperNamespace="{scheme}://{OperationNamespace}", IsWrapped=true)]

  • [System.ServiceModel.MessageBodyMemberAttribute(Namespace="{scheme}://{TypeNamespace}", Order=0)]

参照

WCF LOB アダプター SDK を使用した開発のベスト プラクティス