Web サービスについて
DCNM サーバ上で Cisco DCNM Web サービスの API を使用すると、NX-OS デバイスを設定できます。SOAP プロトコルを使用して、XML ベースの API 要求を作成します。DCNM サーバでは、XML 管理インターフェイスを使用してデバイスを設定します。XML 管理インターフェイスの詳細については、『 Cisco Nexus 7000 Series NX-OS XML Management Interface User Guide, Release 4.2 』を参照してください。
Web サービスの API は、DCNM クライアントで使用できる機能のサブセットを提供します。DCNM の詳細については、『 Cisco DCNM Fundamentals Configuration Guide, Release 4.2 』を参照してください。
ここでは、次の内容について説明します。
• 「SOAP メッセージ」
• 「エラー処理」
セッション ID を作成するための SOAP メッセージ
例 1-1 に、SecurityApp サービスの createSessionID メソッドでセッション ID を取得するために送信する、最初の SOAP メッセージを示します。以後のすべての SOAP メッセージでは、戻されたセッション ID を使用します。SecurityApp サービスの createSessionID メソッドを使用し、DCNM サーバのユーザ ID およびパスワードを指定します。
例 1-1 セッション ID を取得するための SOAP メッセージ
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:credentialHeader xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<password>admin</password>
<m:createSessionId xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
例 1-2 に、戻されたセッション ID「9A7C0399AC161F3601FEB227E2ADA634」を示します。以後の API コールではこのセッション ID を使用します。
例 1-2 セッション ID を取得するための SOAP メッセージに対する応答
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<m:createSessionIdResponse xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<result 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">9A7C0399AC161F3601FEB227E2ADA634</result>
</m:createSessionIdResponse>
API コールを行うための SOAP メッセージ
例 1-3 に、InventoryApp サービスの getAllChassisInNetwork メソッドでシャーシ インベントリを要求するために送信する SOAP メッセージを示します。
例 1-3 シャーシ インベントリを要求する SOAP メッセージ
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:credentialHeader xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<sessionId>9A7C0399AC161F3601FEB227E2ADA634</sessionId>
<m:getAllChassisInNetwork xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
</m:getAllChassisInNetwork>
例 1-4 に、シャーシ インベントリ要求に対する応答を示します。
例 1-4 シャーシ インベントリを要求する SOAP メッセージに対する応答
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<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>
<description>Nexus7000 C7010 (10 Slot) Chassis</description>
<productId>N7K-C7010</productId>
<serialNumber>TBM11256510</serialNumber>
<chassisPowerSupplyRef xsi:type="physical:ChassisPowerSupplySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplySetting</instClassName>
<powerSupplyRedundancyMode>Redundant</powerSupplyRedundancyMode>
<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>
<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>
<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>
<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>
<redundancySettingsRef xsi:type="physical:RedundancySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.RedundancySetting</instClassName>
<redundancyMode>HA</redundancyMode>
<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>
<operationalRedundancyMode>None</operationalRedundancyMode>
<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>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<slotNumber>3</slotNumber>
<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>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<slotNumber>1</slotNumber>
<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>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<slotNumber>5</slotNumber>
<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>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<slotNumber>12</slotNumber>
<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>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<slotNumber>11</slotNumber>
</m:getAllChassisInNetworkResponse>
エラー処理
各メソッドの下に、発生する可能性のある例外が示されます。
Web サービスのライセンス要件
次の表に、この機能のライセンス要件を示します。
|
|
Cisco DCNM |
Web サービスにライセンスは不要です。ライセンス パッケージに含まれていない機能はすべて Cisco DCNM にバンドルされており、費用は一切発生しません。Cisco DCNM ライセンス方式の詳細については、『 Cisco DCNM Installation and Licensing Guide 』を参照してください。 |
その他の関連資料
Web サービス API の実装に関連する詳細情報については、次の項を参照してください。
• 「関連資料」
• 「標準規格」
関連資料
|
|
XML 管理インターフェイス |
『 Cisco Nexus 7000 Series NX-OS XML Management Interface User Guide, Release 4.2 』 |
DCNM クライアント |
『 Cisco DCNM Fundamentals Configuration Guide, Release 4.2 』 |
標準規格
|
|
この機能でサポートされる新規または改訂された標準規格はありません。また、この機能による既存の標準規格サポートの変更はありません。 |
-- |