プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.1.3)
E53004-06
目次へ移動
目次

前
次

11 WSDLドキュメントの操作

この章では、Web Service Definition Language (WSDL)ドキュメントについて、およびService Busプロジェクトでこれらのドキュメントを使用してビジネス・サービス、プロキシ・サービス、パイプラインおよび分割-結合を生成する方法について説明します。WSDLドキュメントはWebサービスの正式な記述で、サービスで何が実行できるか、サービスのある場所およびサービスの呼出し方法を定義します。

この章の構成は、次のとおりです。

11.1 WSDLの概要

WSDLドキュメントでは、サービス、サービスの場所、サービス操作、およびクライアントがサービスと通信する方法を記述します。この項では、Service Busの機能を説明する際のコンテキストを提供するために、WSDLの概要を簡単に説明します。

表11-1に、WSDLサービスの定義に使用する主な要素を示します。

表11-1 上位のWSDL要素

要素 説明

types

メッセージ・コンテンツの型定義。

message

やり取りされるデータの抽象的な定義。メッセージはパートで構成され、パートはメッセージの理論上抽象的な内容を表します。

portType

サービスでサポートされる操作の抽象的な集合。

operation

サービスでサポートされるアクションの抽象的な説明。

binding

ポート・タイプの具体的なプロトコルとデータ形式の指定。

port

ネットワーク・アドレスとバインディングで構成される単一のエンドポイント。

service

関連するポートまたはエンドポイントの集合。

WSDLでは、SOAP、HTTP、MIMEおよびService Bus固有のバインディング拡張が指定され、これらは、WSDLバインド・メカニズムを拡張することで、プロトコル固有またはメッセージ形式固有の機能をサポートします。

11.1.1 WSDL型

types要素は、データ型定義のコンテナです。この要素では、XMLスキーマ(XSD)などの型システムを使用して、このサービスで処理されるメッセージのボキャブラリを定義します。たとえば、株価を提供するサービスの場合、次の例に示すように、TradePriceRequestおよびTradePriceという用語によってXMLボキャブラリを定義できます。

例 - WSDLの型の例

<types>
    <schema targetNamespace="http://example.com/stockquote.xsd"
            xmlns="http://www.w3.org/2001/XMLSchema">
        <element name="TradePriceRequest">
            <complexType>
                <all>
                    <element name="tickerSymbol" type="string"/>
                </all>
            </complexType>
        </element>
        <element name="TradePrice">
            <complexType>
                <all>
                    <element name="price" type="float"/>
                </all>
            </complexType>
        </element>
    </schema>
</types>

11.1.2 WSDLメッセージ

message要素は、通信するデータの抽象的な型付き定義です。メッセージはパートで構成され、各パートは、メッセージの1つの論理抽象単位を表します。WSDLドキュメントでは、1つ以上のメッセージを定義でき、各メッセージには1つ以上のパートを含めることができます。たとえば、次の例のWSDLフラグメントでは、sellerInfoMessagebuyerInfoMessageresponseおよびnegotiationMessageの4つのメッセージ・タイプが定義されており、各メッセージ・タイプには1つ以上のパートが含まれています。

例 - WSDLメッセージの例

<message name="sellerInfoMessage">
    <part name="inventoryItem" type="xsd:string"/>
    <part name="askingPrice" type="xsd:integer"/>
</message>

<message name="buyerInfoMessage">
    <part name="item" type="xsd:string"/>
    <part name="offer" type="xsd:integer"/>
</message>

<message name="response">
    <part name="result" type="xsd:string"/>
</message>

<message name="negotiationMessage">
    <part name="item" type="xsd:string"/>
    <part name="price" type="xsd:integer"/>
    <part name="outcome" type="xsd:string"/>
</message>

11.1.3 WSDLポート・タイプ

portType要素では、(port要素で定義された)1つ以上のエンドポイントがサポートする一連の操作を定義します(「WSDLのサービスとポート」を参照)。ポート・タイプは、サービスが提供する操作のパブリック・インタフェースを提供します。各操作は、サービスがサポートするアクションの抽象的な記述である<operation>要素で定義されます。

たとえば、次の例では1つのオペレーションGetLastTradePriceでポート・タイプを定義し、これは入力メッセージGetLastTradePriceInputおよび出力メッセージGetLastTradePriceOuputを処理します。次の例のsoap:operation下位要素に示すように、これらのメッセージの具体的な記述はWSDLバインドで定義されています。

例 - WSDLのポート・タイプと操作の例

<portType name="StockQuotePortType">
    <operation name="GetLastTradePrice">
        <input message="tns:GetLastTradePriceInput"/>
        <output message="tns:GetLastTradePriceOutput"/>
    </operation>
</portType>

11.1.4 WSDLバインド

binding要素では、ポート・タイプの具体的なデータ・フォーマット仕様と具体的なトランスポート・プロトコルを指定します。次の例では、type属性の値として提供されるStockQuotePortTypeポート・タイプのバインディングを指定します。soap:binding下位要素は、このバインディングがSOAPプロトコル形式にバインドされることを示します。この下位要素では、style属性でデータ・フォーマットがSOAPドキュメント・スタイルであることを指定し、transport属性で転送プロトコルがHTTPであることを指定しています。

例 - WSDLのバインディングの例

<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
    <soap:binding style="document" 
           transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetLastTradePrice">
        <soap:operation 
            soapAction="http://example.com/GetLastTradePrice"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
    </operation>
</binding>

11.1.5 WSDLのサービスとポート

service要素では、関連するエンドポイントの集合を定義します。各エンドポイントは、port子要素で定義されます。ポートでは、ネットワーク・アドレスに関連付けられたバインディングを定義します。次の例では、StockQuotePortStockQuotePortUKの2つのポートが定義されています。この2つのポートは、(bindingで具体的に定義された)tns:StockQuoteSoapBindingという同じバインディングを使用していますが、ネットワーク・アドレスは異なります(http://example.com/stockquotehttp://example.uk/stockquote)。これらのポートは、このサービスで使用できる代替ポートです。

例 - WSDLのサービスとポートの例

<service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
       <soap:address location="http://example.com:9999/stockquote"/>
    </port>
    <port name="StockQuotePortUK" binding="tns:StockQuoteSoapBinding">
       <soap:address location="http://example.uk:9999/stockquote"/>
    </port>
</service>

11.2 Service BusでのWSDLドキュメント

Service Busでは、WSDLドキュメントは、プロキシ・サービス、ビジネス・サービス、パイプラインまたは分割-結合を記述します。既存のWSDLリソースを基にしてSOAPおよびXMLサービスを構築できます。Service Busでは、WSDLドキュメント(Webサービスを記述するためのXMLベースの仕様)を使用して、複数のタイプのビジネス・サービス、プロキシ・サービスおよびパイプラインを定義します。すべての分割-結合は、WSDLドキュメントに基づきます。WSDLドキュメントには、サービス操作、入力/出力パラメータ、およびクライアントがサービスに接続する方法が記述されます。WSDL 1.1仕様については、W3C Noteの『W3C Web Services Description Language (WSDL) 1.1』(http://www.w3.org/TR/wsdl)を参照してください。

Oracle Service BusではWSDLに関する以下の2つの性質を考慮して、プロキシ・サービスおよびビジネス・サービスが定義されます。

  • インタフェース内の操作、および操作の署名のメッセージ部のタイプを定義する抽象WSDLインタフェース。

  • メッセージ部のメッセージへのバインディング(パッケージング)、およびメッセージのトランスポートへのバインディングを定義するバインディングWSDLインタフェース。

11.2.1 Webサービス・タイプ

サービスでWSDLインタフェースが明確に定義されている場合、WSDLドキュメントを使用してサービスを定義することをお薦めします(必須ではありません)。3タイプのWSDLドキュメントを定義できます。

11.2.1.1 SOAPドキュメント・ラップのWebサービス

ドキュメント・ラップのWebサービスは、ドキュメント・スタイルのサービスとしてWSDLファイルに記述されています。ただし、いくつかの追加規約に従います。標準のドキュメント指向のWebサービス操作では、1つのパラメータまたはメッセージ部分のみを取得します(通常は、XMLドキュメントを取得します)。つまり、操作を実装するメソッドに含まれるパラメータも1つだけである必要があります。これに対して、ドキュメント・ラップのWebサービス操作では、パラメータをいくつでも取得できます。パラメータ値は、SOAPメッセージ内の1つの複合データ型にラップされます。このラップされた複合データ型は、操作の1つのドキュメントとしてWSDLドキュメントに記述されます。

11.2.1.2 SOAPドキュメント・スタイルのWebサービス

Service Busサービスは、SOAPスタイル・サービスとして構成できます。次に、SOAP 1.1を使用するサンプルのドキュメント・スタイルWebサービスWSDLの例を示します。

例 - ドキュメント・スタイルのサンプルWebサービスのWSDL

<definitions name="Lookup"
targetNamespace="http://example.com/lookup/service/defs"
xmlns:tns="http://example.com/lookup/service/defs"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:docs="http://example.com/lookup/docs"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xs:schema targetNamespace="http://example.com/lookup/docs" 
            elementFormDefault="qualified">
      <xs:element name="PurchaseOrg" type="xs:string"/>
      <xs:element name="LegacyBoolean" type="xs:boolean"/>
    </xs:schema>
  </types>
  <message name="lookupReq">
    <part name="request" element="docs:purchaseorg"/>
  </message>
  <message name="lookupResp">
    <part name="result" element="docs:legacyboolean"/>
  </message>
  <portType name="LookupPortType">
    <operation name="lookup">
      <input message="tns:lookupReq"/>
      <output message="tns:lookupResp"/>
    </operation>
  </portType>
  <binding name="LookupBinding" type="tns:lookupPortType">
    <soap:binding style="document"
              transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="lookup">
      <soap:operation/>
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
</definitions>

このサービスには、lookupという操作(Javaクラスのメソッドに相当)が含まれています。バインディングは、これがSOAP 1.1ドキュメント・スタイルWebサービスであることを示しています。

前述のWSDLドキュメントをリクエストに使用したときに、ドキュメント・スタイルのプロキシ・サービスが取得するbody変数($body)の値を次の例に示します。

注意:

わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例 - body変数の値

<soap-env:body>
  <req:purchaseorg>Oracle</req:purchaseorg>
</soap-env:body>

前述の例では、soap-envは定義済のSOAP 1.1ネームスペースで、reqPurchaseOrg要素のネームスペース(http://example.com/lookup/docs)です。

プロキシ・サービスによるルーティング先となるビジネス・サービスで前述のWSDLファイルを使用した場合、前述のbody変数($body)の値はプロキシ・サービスのbody変数($body)の値になります。

呼び出されたビジネス・サービスからプロキシ・サービスが受信するレスポンスのbody変数($body)の値を次の例に示します。

注意:

わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例 - body変数の値

<soap-env:body>
  <req:legacyboolean>true</req:legacyboolean>
</soap-env:body>

これは、このWSDLファイルを使用するプロキシ・サービスによって返されるレスポンスのbody変数($body)の値でもあります。

使用可能な多くのツールでは、プロキシ・サービスのWSDLファイル(ブラウザで、プロキシ・サービスのURLに?WSDL接尾辞を追加することによって取得)を受け取り、適切なリクエスト・パラメータとレスポンス・パラメータを持つJavaクラスを生成して、サービスの操作を呼び出します。このJavaクラスを使用して、このWSDLファイルを使用するプロキシ・サービスを呼び出すことができます。

11.2.1.3 SOAP RPC Webサービス

プロキシ・サービスとビジネス・サービスは、RPCスタイルのサービスとして構成できます。次に、SOAP 1.1を使用するサンプルのRPCスタイルWebサービスWSDLファイルの例を示します。

例 - RPCスタイルのサンプルWebサービスのWSDLファイル

<definitions name="Lookup"
targetNamespace="http://example.com/lookup/service/defs"
xmlns:tns="http://example.com/lookup/service/defs"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:docs="http://example.com/lookup/docs"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xs:schema targetNamespace="http://example.com/lookup/docs" 
            elementFormDefault="qualified">
      <xs:complexType name="RequestDoc">
        <xs:sequence>
          <xs:element name="PurchaseOrg" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ResponseDoc">
        <xs:sequence>
          <xs:element name="LegacyBoolean" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
  </types>
  <message name="lookupReq">
    <part name="request" type="docs: RequestDoc"/>
  </message>
  <message name="lookupResp">
    <part name="result" type="docs: ResponseDoc"/>
  </message>
  <portType name="LookupPortType">
    <operation name="lookup">
      <input message="tns:lookupReq"/>
      <output message="tns:lookupResp"/>
    </operation>
  </portType>
  <binding name="LookupBinding" type="tns:lookupPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="lookup">
      <soap:operation/>
      <input>
        <soap:body use="literal" namespace="http://example.com/lookup/service"/>
      </input>
      <output>
        <soap:body use="literal" namespace="http://example.com/lookup/service"/>
      </output>
    </operation>
  </binding>
</definitions>

前述のサービスには、lookupという操作(Javaクラスのメソッドに相当)が含まれています。バインディングは、これがSOAP RPC Webサービスであることを示しています。つまり、このWebサービスの操作では、一連のリクエスト・パラメータを受け取り、一連のレスポンス・パラメータを返します。lookup操作には、requestというパラメータとresultという戻りパラメータがあります。バインディングにおける操作のネームスペースは次のとおりです。

http://example.com/lookup/service/defs

前述のサンプルRPCスタイルWebサービスの例のWSDLファイルに示されたWSDLドキュメントをリクエストに使用したときに、SOAP RPCプロキシ・サービスが取得するbody変数($body)の値を次の例に示します。

注意:

わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例 - body変数の値

<soap-env:body>
  <ns:lookup>
    <request>
      <req:purchaseorg>Oracle</req:purchaseorg>
    </request>
  </ns:lookup>
<soap-env:body>

ここで、soap-envは定義済のSOAP 1.1ネームスペース、nsは操作のネームスペース(http://example.com/lookup/service)、reqPurchaseOrg要素のネームスペース(http://example.com/lookup/docs)です。

プロキシ・サービスによるメッセージのルーティング先となるビジネス・サービスで前述の例のWSDLファイルを使用した場合、次の例に示すbody変数($body)の値は、プロキシ・サービスのbody変数($body)の値になります。

このWSDLドキュメントがリクエストに使用された場合に、呼び出されたビジネス・サービスから、プロキシ・サービスが受信するレスポンスのbody変数($body)の値を次の例に示します。

例 - body変数の値

<soap-env:body>
  <ns:lookupResponse>
    <result>
      <req:legacyboolean>true</req:legacyboolean>
    </result>
  </ns:lookupResponse>
<soap-env:body>

これは、このWSDLファイルを使用するプロキシ・サービスによって返されるレスポンスのbody変数($body)の値でもあります。

使用可能な多くのツールでは、プロキシ・サービスのWSDLファイル(ブラウザで、プロキシのURLに?WSDL接尾辞を追加することによって取得)を受け取り、適切なリクエスト・パラメータとレスポンス・パラメータを持つJavaクラスを生成して、サービスの操作を呼び出します。このようなJavaクラスを使用して、このWSDLファイルを使用するプロキシ・サービスを呼び出すことができます。

WSDLドキュメントを使用する利点は次のとおりです。

  • システムでWSDLドキュメントの各操作のメトリックを提供できます。

  • パイプラインで操作ブランチが可能になります。詳細は、「パイプラインの分岐」を参照してください。

  • SOAP 1.1サービスの場合、プロキシ・サービスが呼び出すサービスにSOAPActionヘッダーが自動的に作成されます。SOAP 1.2サービスの場合、プロキシ・サービスが呼び出すサービスにContent-Typeヘッダーのactionパラメータが自動的に作成されます。

  • WS-Securityを使用するサービスにはWSDLファイルが必要です。WS-PolicyはWSDLファイルに添付されます。

  • システムが<url>?WSDL構文をサポートしているため、HTTPプロキシ・サービスのWSDLファイルを動的に取得できます。これは、多くのSOAPクライアント生成ツールにとって便利です。詳細は、「WebブラウザでのService Busリソースの表示」を参照してください。

  • XQueryエディタ、XPathエディタおよび条件ビルダーでは、プロキシ・サービスのWSDLファイルのリクエスト・メッセージにbodyコンテンツ変数($body)がデフォルトでマップされるため、$bodyの操作が容易になります。「メッセージ・コンテキスト」を参照してください。

  • 特定のアクションにおける$bodyの実行時のコンテンツが、エディタに表示されるデフォルト・マッピングと異なる場合があります。これは、Service Busが型付きの変数を宣言して使用するプログラミング言語ではないためです。変数は型なしであり、値が割り当てられると実行時に動的に作成されます。また、変数の型は、メッセージ・フローの任意の位置でコンテンツに基づく型になります。XQuery式およびXPath式を容易に作成できるように、エディタでは、指定した変数をエディタで型にマップすることによって、その変数の型をマップできます。XQueryエディタおよびXPathエディタを使用して式を作成する方法については、「変数の構造での作業」を参照してください。

11.2.2 有効なWSDLドキュメントと生成されたWSDLドキュメントについて

Service Busでは、WSDLリソースと呼ばれる既存のWSDLファイルに基づいて新しいサービスを作成し、構成プロパティをオーバーライドしたり追加したりできます。実行時、Service Busでは、WSDLリソースの構成と追加のトランスポートやランタイム構成を含む、サービスの有効なWSDLドキュメントを生成します。

11.2.2.1 有効なWSDLドキュメント

WSDLベースのサービスの場合、Service Busでは、Service Busサービスの開発時に作成する実際の.wsdlファイルのかわりに、有効なWSDLドキュメントを実行時に使用します。有効なWSDLドキュメントとは、Service Busで構成されたサービスのWSDLプロパティであり、この中には、ソースWSDLドキュメントの外部で構成された追加プロパティも含まれます。ソースWSDLドキュメントは、有効なWSDLドキュメントのテンプレートとして機能します。

サービスをWSDLドキュメントに基づいて作成する場合、Service Busでは、元のWSDLドキュメントのプロパティ、構成したトランスポート・プロパティ、ランタイムの設定(ターゲット・サーバーなど)および任意のWS-Policy構成を組み合せて、有効なWSDLドキュメントを実行時に生成します。実行時に元のWSDLドキュメントに対して追加または変更したプロパティは、有効なWSDLドキュメントに含まれます。新しい構成で使用されないソースWSDLドキュメントのプロパティは、有効なWSDLドキュメントから省かれます。

Service Busでは、WSDLドキュメントから作成され、WSDLベースのサービスをサポートするトランスポート(HTTP、JMS、SBなど)を使用するSOAPおよびXMLサービスに対して有効なWSDLドキュメントを生成できます。Service Busでは、タイプが任意のSOAP、任意のXMLおよびメッセージングのサービスに対しては、有効なWSDLドキュメントを生成できません。

有効なWSDLドキュメントは、プロキシ・サービスとビジネス・サービス、およびWSDLポートに基づくサービスとWSDLバインドに基づくサービスに対して異なる特性を備えています。詳細は、「WSDLポートとWSDLバインドに基づくサービス」を参照してください。

11.2.2.2 生成されたWSDLドキュメント

生成されたWSDLドキュメントとは、WSDLリソースから作成されてはいないが、WSDLドキュメントを使用して記述できるトランスポート型サービス用にService Busが生成する有効なWSDLドキュメントです。たとえば、EJBベースのサービスからWSDLドキュメントを生成できます。

11.3 WSDLポートとWSDLバインドに基づくサービス

WSDLリソースに基づいてサービスを作成する場合、サービスはWSDLポートまたはWSDLバインドに基づいている必要があります。

  • WSDLリソースのバインティングに基づいて新しいサービスを作成する場合は、WSDLリソースで選択したbinding要素で定義されているプロトコルとデータ・フォーマットを選択します。

  • WSDLリソースのポートに基づいて新しいサービスを作成する場合は、port要素で定義されているバインディングとネットワーク・アドレスを選択します。

サービスを作成または変更するときに、トランスポートは変更できますが、データ・フォーマットはオーバーライドできません。元のWSDLリソースのポート定義とバインディング定義は、次の項で説明するように、様々な要因に応じて有効なWSDL内で変更されます。

11.3.1 プロキシ・サービスの有効なWSDLドキュメント

プロキシ・サービス用に生成される有効なWSDLドキュメントには、次の特性が適用されます。

  • 有効なWSDLドキュメントに含まれるwsdl:serviceセクションは1つのみです。

  • wsdl:serviceセクションに含まれるwsdl:portセクションは1つのみです。

  • SOAPサービスの場合、既存の<wsdl:service>定義が削除され、<wsdl:port>が1つ含まれた新しいサービス定義が作成されます。

  • サポートされているすべてのトランスポートのSOAPバインディングでは、wsdl:bindingセクションに標準のWSDL SOAPバインディング要素と、トランスポートを識別する一意のトランスポートURIが含まれます。

  • XML over HTTPバインディングでは、wsdl:bindingセクションでWSDL 1.1仕様で指定された標準のバインディング要素が使用されます。

  • サポートされている他のすべてのトランスポートのXMLバインディングでは、wsdl:bindingセクションでOracle (Service Bus)独自のWSDL XMLバインディング要素が使用されます。

サービスがバインディングに基づく場合、次の特性が適用されます。

  • 有効なWSDLドキュメントでは、新しいサービスとポート(<bindingname>QSServiceおよび<bindingname>QSPort)を定義します。WSDLリソースで定義されているポートは、有効なWSDLドキュメントには含まれません。

  • そのバインディングに関連付けられたWSDLドキュメントに複数のポートが含まれている場合があります。ポートごとに異なるURLを使用できます。そのため、有効なWSDLドキュメントではこのバインディングが使用されますが、バインディングに対応するサービスの構成から代用ポートが生成されます。他のポートはすべて削除されます。

サービスがポートに基づく場合、次の特性が適用されます。

  • サービスの基準となるポートも有効なWSDLドキュメントで定義されます。WSDLリソースで定義されているその他のポートは含まれません。また、WSDLポートに基づいてプロキシ・サービスを作成した場合、有効なWSDLドキュメントではそのポート名が使用されます。バインディングはポートから決定され、ポート・タイプはバインディングから決定されます。

  • 有効なWSDLドキュメントには、WSDLリソースで定義されているポートに関連付けられたすべてのWS-Policyが保持されます。

  • ソースWSDLドキュメントのポート定義で指定されているトランスポート・アドレスは、有効なWSDLドキュメントでプロキシ・サービスのアドレスとしては使用されません。

    • HTTPサービスの場合、トランスポートを構成するときにトランスポート・アドレスを指定する必要があります。このアドレスが、有効なWSDLドキュメントのポート定義で使用されます。

    • Service Busは常にプロキシ・サービスをホストするため、プロキシ・サービスのトランスポート・アドレスとして指定したURLは、常にService Busドメイン内のパスからの相対位置になります。

  • SOAPプロトコルのWSDLサービスの場合、SOAPバインディングのトランスポートURIはトランスポートの実装によって異なります。標準のトランスポート(HTTPやJMSなど)の場合、この値はSOAP仕様または汎用的に受け入れられる別の値に従います。SOAPで標準の値が定義されていないトランスポートの場合、Service Busは末尾にトランスポートIDを付加した定義済のネームスペース(http://www.oracle.com/transport/2007/05/)で構成される値を設定します。

  • 有効なWSDLドキュメントに含まれるサービス要素は1つで、ポート・アドレスには、バインディングで選択されているトランスポートで構文とセマンティクスが定義されたURLが含まれます。

11.3.2 非トランスポート型ビジネス・サービスの有効なWSDLファイル

トランスポート型ではないビジネス・サービス用に生成される有効なWSDLドキュメントには、次の特性が適用されます。

  • 有効なWSDLドキュメントに含まれるwsdl:serviceセクションは1つのみです。

  • wsdl:service sectionには、複数のwsdl:portセクションが含まれる場合があります。通常、これが該当するのは、ロード・バランシングを使用しており、サポートされるロード・バランシング・アルゴリズムのいずれかを使用することによって使用できる複数のエンドポイント・アドレスが存在する場合です。

  • サポートされているすべてのトランスポートのSOAPバインディングでは、wsdl:bindingセクションに標準のWSDL SOAPバインディング要素と、トランスポートを識別する一意のトランスポートURIが含まれます。

  • サポートされているすべてのトランスポートのXMLバインディングでは、wsdl:bindingセクションにOracleのWSDL XMLバインディング要素が含まれます。

  • トランスポート・アドレスとして指定されたURLは、リモート・サービスがホストされるリモートの場所を示します。

サービスがポートに基づく場合、次の特性が適用されます。

  • 有効なWSDLドキュメントでは、ソースWSDLドキュメントのポートと同じ名前のポートが定義されます。ビジネス・サービスに複数のエンドポイント・アドレスが構成されている場合、そのサービスから生成される有効なWSDLドキュメントですべてのエンドポイントのポートが<portname_in_template>_1、<portname_in_template>_2、... (以降も同様)という名前で定義されます。

  • 新しいサービスのバインディングはポートから決定され、ポート・タイプはバインディングから決定されます。

  • トランスポート・アドレスのURLは、リモート・サービスがホストされるリモートの場所を示します。

サービスがバインディングに基づく場合、次の特性が適用されます。

  • 有効なWSDLドキュメントでは、WSDLリソースのポートに基づいて新しいサービスとポートが定義されます。WSDLリソースで定義されているポートは、有効なWSDLファイルには含まれません。

  • WSDLリソースのバインディングが複数のポートに関連付けられている場合があります。ポートごとに異なるURLを使用でき、それぞれ異なるWS-Policyを添付できます。そのため、生成されるWSDLドキュメントではこのバインディングが使用されますが、バインディング用にWS-Policyが添付されていない代用ポートが生成されます。

  • XMLベースのWSDLサービスでは、サービスでHTTPトランスポートを使用している場合にのみ、標準のHTTPバインディングが使用されます。XMLベースのWSDLファイルから作成される他のすべてのサービスでは、有効なWSDLドキュメントでOracleバインディングが使用されます。

11.3.3 トランスポート型ビジネス・サービスの有効なWSDLファイル

Service Busは、トランスポート型ビジネス・サービス用に生成される有効なWSDLドキュメントのwsdl:serviceセクションが1つのみであることを保証しません。WSDLドキュメントはトランスポートによって生成されるため、Service Busがserviceセクションとportセクションを生成することはなく、クリーンアップも行いません。ただし、Service Busは依存関係を評価し、エクスポート時にその参照を設定します。

11.3.4 ポートとバインディングに基づくプロキシ・サービスの例

次の例では、WSDLリソースのポート定義とバインディング定義のフラグメントを示します。

例 - WSDLリソース

<portType name="StockQuotePortType">
...
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
    <soap:binding style="document"
      transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<service name="StockQuoteService">
   <port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
     <soap:address location="http://example.com:9999/stockquote"/>
   </port>
   <port name="StockQuotePortUK" binding="tns:StockQuoteSoapBinding">
      <soap:address location="http://example.uk:9999/stockquote"/>
   </port>
</service>

11.3.4.1 ポートに基づくサービス

ポートとバインディングに基づくプロキシ・サービスの例の例に基づいてプロキシ・サービスを作成すると、有効なWSDLドキュメントは次の例のフラグメントのようになります。

例 - ポートに基づいたプロキシ・サービスの有効なWSDLファイル

<binding name="StockQuoteSoapBinding" type="ns:StockQuotePortType">
    <soap:binding style="document"
      transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<service name="StockQuoteService">
  <port name="StockQuotePort" binding="ns:StockQuoteSoapBinding">
    <soap:address location="http://host:port/project/proxyname"/>
  </port>
</service>

この例について、次の点に注意してください。

  • テンプレートと有効なWSDLドキュメントのサービス名(StockQuoteService)は同じです。

  • テンプレートと有効なWSDLドキュメントのバインディングは同じです。この例のバインディングでは、サービスがSOAPドキュメント・スタイルのメッセージにHTTP転送プロトコルを使用することを指定しています。この例では示されていませんが、WSDLリソースと有効なWSDLドキュメントでは、同じバインディング操作も指定されています。

  • WSDLリソースで定義されている2つ目のポートStockQuotePortUKは、有効なWSDLドキュメントでは定義されていません。

  • WSDLリソースのポートで定義されているトランスポート・アドレス(URI) http://example.com:9999/stockquoteは、有効なWSDLのポートで生成されたアドレスhttp://host:port/project_path/proxy_service_nameとは異なります。有効なWSDLドキュメントでは、その構成時にトランスポートに指定したアドレスが使用されます。

11.3.4.2 バインディングに基づくサービス

「ポートとバインディングに基づくプロキシ・サービスの例」StockQuoteBindingバインディングに基づくプロキシ・サービスを作成すると、有効なWSDLドキュメントは次の項のフラグメントのようになります。

例 - バインディングに基づいたプロキシ・サービスの有効なWSDLドキュメント

<binding name="StockQuoteSoapBinding" type="ns:StockQuotePortType">
    <soap:binding style="document"
      transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<wsdl:service name="StockQuoteSoapBindingQSService"
   <wsdl:port name="StockQuoteSoapBindingQSPort"
            binding="ns:StockQuoteSoapBinding">
      <soap:address location="http:/host:port/project/proxyname"/>
   </wsdl:port>
</wsdl:service>

この例について、次の点に注意してください。

  • WSDLリソースのサービスとポートは、有効なWSDLドキュメントで生成されたサービスとポートとは異なります。

  • WSDLリソースと有効なWSDLドキュメントのサービス名は異なります。テンプレートではStockQuoteService、有効なWSDLドキュメントではStockQuoteSoapBindingQSServiceです。

  • WSDLリソースと有効なWSDLドキュメントのバインディングは同じです。この例のバインディングでは、サービスがSOAPドキュメント・スタイルのメッセージにHTTP転送プロトコルを使用することを指定しています。

  • この例では示されていませんが、テンプレートと有効なWSDLドキュメントでは、同じバインディング操作も指定しています。

  • WSDLリソースのポートで定義されているトランスポート・アドレス(URI)http://example.com:9999/stockquoteは、有効なWSDLのポートで生成されたアドレスhttp://host:port/project/stockquoteとは異なります。

11.4 WSDLリソースのインポートとエクスポート

WSDLドキュメントをエクスポートすると、有効なWSDLドキュメントおよび関連付けられた依存関係(XMLスキーマなど)を含むJARファイルが生成されます。Service Busはこの依存関係を評価し、WSDLのimport要素のlocation属性に適切な場所が追加されます。生成されたWSDLドキュメントをエクスポートすることはできません。

リソースのインポートとエクスポートの詳細は、「リソースおよび構成のインポートとエクスポート」を参照してください。

11.5 JDeveloperでのWSDLドキュメントの操作

JDeveloperでは、JCAアダプタに基づいて新しいプロキシ・サービスやビジネス・サービスを作成すると、WSDLファイルが生成されてService Busプロジェクトに追加されます。WSDLファイルは、標準のJDeveloperツールを使用して最初から作成することもできます。WSDLファイルは、Oracle Service Busコンソールでは生成されません。必要なWSDLファイルをサービスで使用するには、そのファイルをインポートする必要があります。

WSDLファイルは、JDeveloperの標準機能です。WSDLファイルの作成に使用するエディタとツールの詳細は、『Oracle JDeveloperによるアプリケーションの開発』のXMLを使用したアプリケーションの開発に関する項を参照してください。

11.5.1 JDeveloperでのWSDLリソースの作成方法

作成するWSDLリソースに、JDeveloperに現在存在しない外部スキーマへのURL参照(http://www.w3.org/2001/XMLSchema.xsdなど)が含まれている場合、XMLスキーマのリソースを作成することによって、それらのURL参照付きスキーマと依存するすべてのスキーマをService Busに追加する必要があります。Service BusのWSDLリソースは、ローカルで使用可能なスキーマのみを参照できます。WSDLファイルは、XMLスキーマ定義(XSD)ファイルまたはサンプル・ファイルを使用して生成できます。

新しいWSDLドキュメントの入力タイプと出力タイプを定義するには、メッセージ・パートにXMLタイプを指定する必要があります。ローカル・ファイル・システムに存在するスキーマXSDファイルを使用する場合、XSDファイルと、そのファイルがインポートするXSDファイルのすべてがJDeveloperのプロジェクト・ディレクトリにあることを確認します。これで、スキーマがプロジェクトとともにデプロイされて実行時に使用可能になります。

JDeveloperでWSDLドキュメントを作成するには:

  1. 次のいずれかを行います:

    • 新しいWSDLリソースを作成するには、アプリケーション・ナビゲータで、新しいWSDLファイルの配置先のプロジェクトまたはフォルダを右クリックします。「新規」をポイントし、「SOA WSDLドキュメント」を選択します。

    • 新しいWSDLリソースをサービスの作成ウィザード内から作成するには、「WSDL」フィールドの右側の「WSDLの生成」アイコンをクリックします。

    「WSDLの作成」ダイアログが表示されます。

  2. 「WSDLの作成」ダイアログで、WSDLファイルの一意の名前を入力して、ファイルの保存先のディレクトリを入力するか、デフォルトのままにします。

    デフォルトでは、ファイルはプロジェクト・フォルダに格納されます。これは、現在のプロジェクト・ディレクトリまたはそのサブディレクトリのいずれかにしてください。指定のディレクトリが存在しない場合、Oracle JDeveloperでディレクトリが作成されます。

  3. 「ネームスペース」フィールドに、WSDLファイルのネームスペース・アドレス(http://example.com/OrderProcess/wsdlなど)を入力します。

    指定するネームスペースは、WSDLファイルでtnsネームスペースとして定義されます。

  4. 「バインディング」フィールドに、サービス用に作成する、WSDLファイルのバインディングの名前を入力します。使用可能なオプションのリストから、バインディング・タイプを選択します(SOAP 1.1、SOAP 1.2またはXML)。

  5. 「ポート・タイプの作成」を選択してWSDLドキュメントの新しいポート・タイプと操作を作成するか、「ポート・タイプの選択」を選択して既存のWSDLドキュメントからポート・タイプを選択します。

  6. 次のいずれかを行います:

    • ポート・タイプの作成を選択した場合は、引き続き手順7に進みます。

    • ポート・タイプの選択を選択した場合は、「WSDL URL」フィールドの横の「WSDLの選択」をクリックし、使用するWSDLファイルを参照して選択します。次に、使用可能なオプションのリストからポート・タイプを選択します。手順14にスキップします。

  7. 「ポート・タイプ」フィールドに、使用する操作を含むポート・タイプの名前を入力します。

  8. 「操作」フィールドに、使用する操作の名前を入力します。

    注意:

    操作名やポート・タイプで、空白や特殊文字は使用できません。アルファベットおよび数字のみがサポートされますが、最初の文字に数字は使用できません。

  9. 「インタフェース・タイプ」フィールドで、リクエスト専用メッセージングの場合は「一方向インタフェース」を選択し、リクエスト/レスポンス・メッセージングの場合は「同期インタフェース」を選択します。

    使用可能なフィールドは、選択内容に応じて異なります。

  10. 「入力」フィールドの右上の「新規メッセージ・パートを追加します。」をクリックします。

  11. 「メッセージ・パートの追加」ダイアログで、次のようにします。

    1. 「パート名」フィールドに、メッセージ・パートの名前を入力します。

    2. 「URL」フィールドの右側で、「スキーマ・ファイルを参照」アイコンをクリックし、XMLタイプを参照して選択します。

      「タイプ・チューザ」ダイアログが表示され、選択元のスキーマとWSDLファイルのリストが表示されます。

    3. 「タイプ・エクスプローラ」ツリーを開き、使用するスキーマ・ルート要素を見つけて選択し、「OK」をクリックします。

      「メッセージ・パートの追加」ダイアログが再度表示され、「URL」「スキーマ要素」フィールドに「タイプ・チューザ」ダイアログからのデータが移入されます。XSD単純型を選択した場合、「スキーマ要素」フィールドは「単純型」フィールドで置き換えられます。

      ヒント:

      使用するスキーマが、作業しているプロジェクトにない場合、「スキーマ・ファイルのインポート」またはダイアログの右上隅にある「WSDLのインポート」アイコンを使用して、スキーマXSDファイルまたはWSDLファイルをプロジェクトにインポートできます。

    4. 「OK」をもう一度クリックします。

      「WSDLの作成」ダイアログの「入力」フィールドに新しいメッセージ・パート情報が表示されます。

  12. 必要に応じて、前述の手順を繰り返して、追加のメッセージ・パートを定義します。

  13. インタフェース・タイプに「同期インタフェース」を選択した場合、前述の手順を繰り返して、出力およびフォルト・メッセージ・パートを定義します。

  14. 「OK」をクリックします。

    注意:

    パートナ・リンク・タイプは、通常BPELで使用されるため、Service Busに「partnerlinkType拡張機能の生成」を選択する必要はありません。

11.5.2 JDeveloperでのサービスからのWSDLファイルの生成方法

生成WSDLファイルとは、WSDLリソースで開始されなかったが、WSDLファイルを使用して記述できるサービスのためにService Busが生成するWSDLファイル・リソースです。EJBまたはJEJBトランスポート型のビジネス・サービスやJEJBプロキシ・サービスに関連付けられたWSDLファイルを生成できます。

JDeveloperでサービスからWSDLファイルを生成するには:

  1. アプリケーション・ナビゲータで、WSDLファイルの生成元となるプロキシ・サービスやビジネス・サービスを含むプロジェクトまたはフォルダを右クリックします。
  2. 「Service Bus」をポイントし、「WSDLの生成」をクリックします。

    「WSDLの生成」ダイアログが表示されます。

  3. WSDLファイルの「WSDL名」と場所を指定します。

    デフォルトでは、現在の場所は、プロジェクトのパス、およびサービスが存在するフォルダの名前になります。

  4. 「OK」をクリックします。

    警告:

    リシーケンス用に構成されたパイプラインで使用するようWSDLファイルを生成している場合、リシーケンサがサポートするのは一方向(リクエスト)の操作のみであることに注意することが重要です。ここで生成するWSDLファイルには出力タグが含まれ、このファイルをパイプラインで使用する前に、このタグをポート・タイプおよびバインディング定義から削除する必要があります。

11.5.3 JDeveloperでのWSDLドキュメントの編集方法

WSDLドキュメントを作成すると、JDeveloperで標準のXMLエディタを使用してこれらをさらに構成できます。WSDLドキュメントの表示と構成に使用するエディタおよびツールの詳細は、『Oracle JDeveloperによるアプリケーションの開発』のXMLを使用したアプリケーションの開発に関する項を参照してください。

11.5.4 JDeveloperでのWSDLドキュメントの削除方法

WSDLドキュメントを作成したら、そのドキュメントをプロジェクトおよびファイル・システムから削除できます。JDeveloperのリファクタ機能を使用すると、WSDLドキュメントを参照するリソースを表示できます。削除する前に依存関係を確認するには、WSDLドキュメントを右クリックして、「依存性の参照」を選択します。

JDeveloperでWSDLドキュメントを削除するには:

  1. アプリケーション・ナビゲータで、削除するWSDLファイルを右クリックします。
  2. 「リファクタ」をポイントし、「削除」を選択します。

    「削除の確認」ダイアログが表示されます。

  3. WSDLドキュメントが別のService Busリソースで参照される場合、「使用方法の表示」をクリックして参照を表示し、WSDLドキュメントを削除するかどうかを検証します。
  4. WSDLドキュメントの削除を確定する場合は、「はい」をクリックします。

11.6 Oracle Service BusコンソールでのWSDLドキュメントの操作

Oracle Service Busコンソールを使用する場合、WSDLドキュメントを作成するには、ドキュメントをインポートするかWSDLリソースを作成します。インポートの詳細は、「リソースおよび構成のインポートとエクスポート」を参照してください。WSDLリソースを手動で作成するには、次の手順を実行します。WSDLリソースにアップロードする既存のWSDLファイルが必要です。

11.6.1 コンソールでのWSDLリソースの作成方法

作成するWSDLリソースに、Service Busで現在存在しない外部スキーマへのURL参照(http://www.w3.org/2001/XMLSchema.xsdなど)が含まれている場合、XMLスキーマのリソースを作成することによって、それらのURL参照付きスキーマと依存するすべてのスキーマをOracle Service Busコンソールにインポートする必要があります。Service BusのWSDLリソースは、ローカルで使用可能なスキーマのみを参照できます。

コンソールでWSDLリソースを作成するには:

  1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。

  2. プロジェクト・ナビゲータで、新しいWSDLドキュメントを含めるプロジェクトまたはフォルダを右クリックして、「作成」をポイントし、「WSDL」を選択します。

    「WSDLの作成」ダイアログが表示されます。

  3. 次のいずれかを行います:

    • 既存のWSDLファイルからリソースを作成するには、「ファイルのアップロード」フィールドの横の「参照」をクリックしてから、使用するWSDLファイルに移動してそのファイルを選択します。

      「リソース名」フィールドに、ファイル拡張子なしのファイル名が自動的に移入されます。この名前は変更可能です。

    • 新しいWSDLファイルを作成するには、WSDLリソースの一意の名前を入力します。

  4. 必要に応じて、リソースの簡単な説明を入力します。

  5. 「作成」をクリックします。

    WSDL要素(定義される場合)がWSDL定義エディタに表示されます。

  6. WSDLファイルのコンテンツを変更するには、次のようにします。

    1. ツールバーの「ソースの編集」をクリックします。

      「ソースの編集」ダイアログが表示されます。

    2. アップロードする新しいWSDLファイルを参照して選択するには、「参照」をクリックします。

    3. ファイルのコンテンツを変更するには、ダイアログの「コンテンツ」セクションでコードを直接更新します。

    4. 「保存」をクリックします。

  7. WSDL定義エディタのツールバーで、「保存」をクリックします。

    新しいWSDLドキュメントに未解決の参照がある場合は、エディタのタイトル・バーの横に「競合」アイコンが表示されます。戻る矢印と次に進む矢印ボタンを使用して、エラー全体をスクロールします。

  8. セッションを終了して構成をランタイムにデプロイするには、「アクティブ化」をクリックします。

11.6.2 コンソールでのWSDLファイルのエクスポート方法

プロジェクトまたはフォルダ定義エディタを使用して、プロキシ・サービスやビジネス・サービスに関連付けられたWSDLファイルをエクスポートします。Service Busでは、WSDLファイルはJARファイルとしてエクスポートされます。WSDLファイルは、セッション外にいるときのみエクスポートできます。

WSDLドキュメントをエクスポートすることで、これをIDEなどの外部ツールで消費できるようにします。WSDLエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用するリソースのエクスポート機能とは異なります。この機能は、すべてのサービス・タイプに使用できるわけではありません。

11.6.2.1 コンソールでのWSDLファイルのプロジェクトまたはフォルダからのエクスポート

コンソールでWSDLファイルをプロジェクトまたはフォルダからエクスポートするには:

  1. プロジェクト・ナビゲータで、エクスポートするWSDLファイルを含むプロジェクトまたはフォルダをクリックします。

    プロジェクトまたはフォルダの定義エディタが表示されます。

  2. リソース表で、WSDLファイルをエクスポートするプロキシ・サービスまたはビジネス・サービスの行で「WSDLのエクスポート」アイコンをクリックします。

    ファイル・ダイアログが表示されます。ダイアログのタイプとそのオプションは、使用するWebブラウザに応じて異なります。

  3. 「開く」をクリックしてJARファイルを開くか、「保存」をクリックしてJARファイルをデスクトップに保存します。

11.6.2.2 サービス定義エディタからのWSDLファイルのエクスポート

サービス定義エディタからWSDLファイルをエクスポートするには:

  1. Oracle Service Busコンソールで、開いているセッションにいないことを確認します。
  2. プロジェクト・ナビゲータで、WSDLファイルのエクスポート元とするプロキシ・サービスまたはビジネス・サービスをクリックします。

    プロキシまたはビジネス・サービス定義エディタが表示されます。

  3. エディタの右上のツールバーで、「WSDLのエクスポート」をクリックします。

    ファイル・ダイアログが表示されます。ダイアログのタイプとそのオプションは、使用するWebブラウザに応じて異なります。

  4. 「開く」をクリックしてJARファイルを開くか、「保存」をクリックしてJARファイルをデスクトップに保存します。

11.6.3 コンソールでのサービスからのWSDLファイルの生成方法

生成WSDLファイルとは、WSDLリソースで開始されなかったが、WSDLファイルを使用して記述できるサービスのためにService Busが生成するWSDLファイル・リソースです。プロジェクトまたはフォルダ定義エディタを使用して、EJBまたはJEJBトランスポート型のビジネス・サービスやJEJBプロキシ・サービスに関連付けられたWSDLファイルを生成します。WSDLファイルを生成するには、セッション内で作業している必要があります。

コンソールでビジネス・サービスからWSDLファイルを生成するには:

  1. プロジェクト・ナビゲータで、WSDLファイルの生成元となるプロキシ・サービスやビジネス・サービスを含むプロジェクトまたはフォルダをクリックします。

    プロジェクトまたはフォルダの定義エディタが表示されます。

  2. リソース表で、WSDLファイルを生成するサービスの行で「WSDLの生成」アイコンをクリックします。

    WSDLリソースの生成ダイアログが表示され、現在の場所(プロジェクト名およびビジネス・サービスが存在するフォルダの名前)が強調表示されます。

  3. WSDLリソースの名前および場所を指定し、「WSDLの生成」をクリックします。

    警告:

    このWSDLリソースをリシーケンス用に構成されたパイプラインで使用するように生成している場合、リシーケンサがサポートするのは一方向(リクエスト)の操作のみであることに注意することが重要です。ここで生成するWSDLファイルには出力タグが含まれ、このファイルをパイプラインで使用する前に、このタグをポート・タイプおよびバインディング定義から削除する必要があります。

11.6.4 コンソールでのWSDLドキュメントの編集方法

Oracle Service BusコンソールでWSDLリソースを作成すると、ファイルを必要に応じて変更できますが、その方法はソース・コードを直接変更するのみです。

WSDLドキュメントを編集するには:

  1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。
  2. プロジェクト・ナビゲータで、編集するWSDLリソースをクリックします。

    WSDL定義エディタが表示されます。

  3. ツールバーの「ソースの編集」をクリックします。

    「ソースの編集」ダイアログが表示されます。

  4. アップロードする新しいWSDLファイルを参照して選択するには、「参照」をクリックします。
  5. ファイルのコンテンツを変更するには、ダイアログの「コンテンツ」セクションでコードを直接更新します。
  6. 「保存」をクリックします。
  7. セッションを終了して構成をランタイムにデプロイするには、「アクティブ化」をクリックします。

11.6.5 コンソールでのWSDLドキュメントの削除方法

削除するWSDLドキュメントをいずれかのリソースが参照する場合、WSDLリソースを削除する前にそれらの参照を削除します。Oracle Service BusコンソールのWSDL定義エディタでWSDLドキュメントを開き、右上の「参照」アイコンをクリックして、ドキュメントに参照があるかどうかを確認します。

コンソールでWSDLドキュメントを削除するには:

  1. アプリケーション・ナビゲータで、削除するWSDLリソースを含むプロジェクトとフォルダを開きます。
  2. WSDLドキュメントの名前を右クリックして、「削除」を選択します。

    WSDLリソースが削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

  3. 「アクティブ化」をクリックしてセッションを終了し、構成をランタイムにデプロイします。

11.7 有効なWSDLドキュメントの表示

設計時のWSDLドキュメントと有効なWSDLドキュメントの両方をWebブラウザで表示できます。ブラウザ・ウィンドウからファイルにアクセスすると、ファイルのコンテンツがXML形式で表示されます。

有効なWSDLドキュメントには、次の3通りの方法でアクセスできます。

設計時のWSDLドキュメントを表示するには、次の構文を使用してURLを入力します。

http://host:port/sbresource?WSDL/project_path/wsdl_name