Cisco DCNM Web Services API ガイド Release 4.0
概要
概要
発行日;2012/01/11 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

概要

Web サービスの概要

SOAP メッセージ

セッション ID を取得するための SOAP メッセージ

API コールを行うための SOAP メッセージ

エラー処理

Web サービスのライセンス要件

その他の参考資料

関連資料

規格

概要

この章では、Data Center Network Management(DCNM)Web サービス API(アプリケーション プログラミング インターフェイス)について説明します。

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

「Web サービスの概要」

「Web サービスのライセンス要件」

「その他の参考資料」

Web サービスの概要

DCNM サーバ上で Cisco DCNM Web サービス API を使用すると、NX-OS デバイスを設定できます。XML ベースの API 要求を作成するには、SOAP プロトコルを使用します。DCNM サーバでは、XML 管理インターフェイスを使用してデバイスを設定します。XML 管理インターフェイスの詳細については、『 Cisco NX-OS XML Management Interface User Guide, Release 4.0 』を参照してください。

Web サービス API は、DCNM クライアントで使用できる機能のサブセットを提供します。DCNM については、『 Cisco DCNM Fundamentals Configuration Guide, Release 4.0 』を参照してください。

ここで説明する内容は、次のとおりです。

「SOAP メッセージ」

「エラー処理」

SOAP メッセージ

DCNM サーバと交換する SOAP メッセージは、ヘッダーにセッション IDが含まれ、本体に API コールが含まれます。最初の SOAP 要求によって、セッション ID を取得します。

DCNM サーバ上の DCNM Web サービスについて記述した XSD および WSDL ファイルは、DCNM インストール ディレクトリの ws-client フォルダにあります。DCNM サーバはデフォルトで、C:\Program Files\Cisco Systems\DCNM にインストールされます。

SOAP の詳細については、 http://www.w3.org/TR/soap を参照してください。

ここで説明する内容は、次のとおりです。

「セッション ID を取得するための SOAP メッセージ」

「API コールを行うための SOAP メッセージ」

セッション ID を取得するための SOAP メッセージ

例1-1 に、SecurityApp サービスの getSessionId メソッドでセッション ID を取得するために送信する、最初の SOAP メッセージを示します。以後はすべての SOAP メッセージで、戻されたセッション ID を使用します。SecurityAppService の getSessionId メソッドを使用し、DCNM サーバのユーザ ID およびパスワードを指定します。

例1-1 セッション ID を取得するための SOAP メッセージ

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<util:credentialHeader xmlns:util="http://util.common.dcm.dcbu.cisco.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://util.common.dcm.dcbu.cisco.com util.xsd">
<userId>administration</userId>
<password>administration</password>
</util:credentialHeader>
</env:Header>
<env:Body>
<m:getSessionId xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<opContext_0/>
</m:getSessionId>
</env:Body>
</env:Envelope>
 

例1-2 に、戻されたセッション ID「FFEE034DDFAFASEREW8383FDSFSD」を示します。以後の API コールではこのセッション ID を使用します。

例1-2 セッション ID を取得するための SOAP メッセージに対する応答

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<m:getSessionIdResponse xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<return xmlns:basictypes="http://basictypes.dcm.dcbu.cisco.com" xmlns:common="http://common.dcm.dcbu.cisco.com" xmlns:datatype="http://datatype.model.dcm.dcbu.cisco.com" xmlns:enumkind="http://enumkind.model.dcm.dcbu.cisco.com" xmlns:util="http://util.common.dcm.dcbu.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema xml.xsd" xsi:type="xs:string">FFEE034DDFAFASEREW8383FDSFSD</return>
</m:getSessionIdResponse>
</env:Body>
</env:Envelope>
 

API コールを行うための SOAP メッセージ

例1-3 に、InventoryApp サービスの getAllChassisInNetwork メソッドでシャーシ インベントリを要求するために送信する、SOAP メッセージを示します。例1-2 で取得したセッション ID を使用します。

例1-3 シャーシ インベントリを要求する SOAP メッセージ

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<util:credentialHeader xmlns:util="http://util.common.dcm.dcbu.cisco.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://util.common.dcm.dcbu.cisco.com util.xsd">
<sessionId>FFEE034DDFAFASEREW8383FDSFSD</sessionId>
</util:credentialHeader>
</env:Header>
<env:Body>
<m:getAllChassisInNetwork xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<opContext_0/>
</m:getAllChassisInNetwork>
</env:Body>
</env:Envelope>
 

例1-4 に、シャーシ インベントリ要求に対する応答を示します。

例1-4 シャーシ インベントリを要求する SOAP メッセージへの応答

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<m:getAllChassisInNetworkResponse xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<return collectionType="List" xmlns:basictypes="http://basictypes.dcm.dcbu.cisco.com" xmlns:common="http://common.dcm.dcbu.cisco.com" xmlns:datatype="http://datatype.model.dcm.dcbu.cisco.com" xmlns:enumkind="http://enumkind.model.dcm.dcbu.cisco.com" xmlns:physical="http://physical.model.dcm.dcbu.cisco.com" xmlns:tns="http://physical.model.dcm.dcbu.cisco.com" xmlns:util="http://util.common.dcm.dcbu.cisco.com" xmlns:vdc="http://vdc.model.dcm.dcbu.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://physical.model.dcm.dcbu.cisco.com physical.xsd" xsi:type="physical:Chassis_ListType">
<itemList xsi:type="physical:Chassis">
<instClassName>com.cisco.dcbu.dcm.model.physical.Chassis</instClassName>
<instanceClassId>6143</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>3</version>
<description>Nexus7000 C7010 (10 Slot) Chassis</description>
<name>Chassis</name>
<productId>N7K-C7010</productId>
<serialNumber>TBM11256510</serialNumber>
<chassisPowerSupplyRef xsi:type="physical:ChassisPowerSupplySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplySetting
</instClassName>
<powerSupplyRedundancyMode>Redundant</powerSupplyRedundancyMode>
</chassisPowerSupplyRef>
<chassisPowerSupplyStatusRef xsi:type="physical:ChassisPowerSupplyStatus">
<instClassName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplyStatus
</instClassName>
<instanceClassId>6252</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplyStatus:neId=2,
chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>0</version>
<availablePowerSupply>2329.00</availablePowerSupply>
<operationalRedundancyStatus>Redundant</operationalRedundancyStatus>
<totalPowerSupply>5480.00</totalPowerSupply>
<usedPowerSupply>3151.0</usedPowerSupply>
</chassisPowerSupplyStatusRef>
<networkElementRef xsi:type="vdc:NetworkElement">
<instClassName>com.cisco.dcbu.dcm.model.vdc.NetworkElement</instClassName>
<instanceClassId>2</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.vdc.NetworkElement:neId=2</instanceName>
<instanceState>Unmodified</instanceState>
<version>6</version>
<abstractNetworkElementStatusRef xsi:type="vdc:AbstractNetworkElementStatus">
<instClassName>com.cisco.dcbu.dcm.model.vdc.AbstractNetworkElementStatus
</instClassName>
<instanceClassId>6146</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.vdc.AbstractNetworkElementStatus:neId=2
</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<mgmtState>Managed</mgmtState>
<userId>administration</userId>
</abstractNetworkElementStatusRef>
<hostName>DCNM-9</hostName>
<mgmtIpAddress>172.27.139.76</mgmtIpAddress>
<platformName>Nexus7000</platformName>
<platformType>Cisco Nexus7000 Series</platformType>
<platformVersion>4.0(1)</platformVersion>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
</networkElementRef>
<redundancySettingsRef xsi:type="physical:RedundancySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.RedundancySetting</instClassName>
<redundancyMode>HA</redundancyMode>
</redundancySettingsRef>
<redundancyStatusRef xsi:type="physical:RedundancyStatus">
<instClassName>com.cisco.dcbu.dcm.model.physical.RedundancyStatus</instClassName>
<instanceClassId>6250</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.RedundancyStatus:neId=2,
chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>0</version>
<operationalRedundancyMode>None</operationalRedundancyMode>
</redundancyStatusRef>
<slotCol collectionType="Set" xsi:type="physical:Slot_SetType">
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6150</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,
slotNumber=3</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>3</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6148</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,
chassisId=TBM11256510,slotNumber=1</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>1</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6152</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,
slotNumber=5</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>5</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6156</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,
slotNumber=12</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>12</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6154</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,
slotNumber=11</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,
chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>11</slotNumber>
</itemSet>
</slotCol>
</itemList>
</return>
</m:getAllChassisInNetworkResponse>
</env:Body>
</env:Envelope>

エラー処理

各メソッドの下に、発生する可能性のある例外が示されます。

Web サービスのライセンス要件

次の表に、この機能のライセンス要件を示します。

 

製品
ライセンス要件

DCNM

Web サービスにライセンスは不要です。ライセンス パッケージに含まれていない機能は、Cisco DCNM にバンドルされ、無料で提供されます。DCNM ライセンス方式の詳細については、『 Cisco DCNM Licensing Guide 』を参照してください。

その他の参考資料

Web サービス API の実装に関連する詳細情報については、次の項を参照してください。

「関連資料」

「規格」

関連資料

関連項目
マニュアル タイトル

XML 管理インターフェイス

Cisco NX-OS XML Management Interface User Guide, Release 4.0

DCNM クライアント

Cisco DCNM Fundamentals Configuration Guide, Release 4.0

規格

規格
タイトル

この機能でサポートされる新規格または変更された規格はありません。また、既存規格のサポートに関して、この機能での変更はありません。

--