Return to ReleaseNotes.htm CVS log | Up to [Pegasus] / pegasus-JavaCIMClient / docs |
File: [Pegasus] / pegasus-JavaCIMClient / docs / ReleaseNotes.htm
(download)
/
(as text)
Revision: 1.2, Thu Feb 12 18:12:28 2004 UTC (20 years, 4 months ago) by kumpf Branch: MAIN Changes since 1.1: +1366 -527 lines HP-BAPU: PEP125 Enhancements to Pegasus Java Client and Java Listener |
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 9"> <meta name=Originator content="Microsoft Word 9"> <link rel=File-List href="./WBEMJavaClientReleaseNotes2_0_files/filelist.xml"> <title>WBEM Java Client Release Notes</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Subject>WBEM Java Client Release Notes </o:Subject> <o:Author>Bapu Patil</o:Author> <o:Template>normal</o:Template> <o:LastAuthor>Bapu Patil</o:LastAuthor> <o:Revision>2</o:Revision> <o:TotalTime>1874</o:TotalTime> <o:LastPrinted>2003-05-14T19:27:00Z</o:LastPrinted> <o:Created>2003-11-19T23:06:00Z</o:Created> <o:LastSaved>2003-11-19T23:06:00Z</o:LastSaved> <o:Pages>18</o:Pages> <o:Words>5673</o:Words> <o:Characters>32340</o:Characters> <o:Company>Hewlett-Packard Company</o:Company> <o:Lines>269</o:Lines> <o:Paragraphs>64</o:Paragraphs> <o:CharactersWithSpaces>39715</o:CharactersWithSpaces> <o:Version>9.4402</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery> <w:UseMarginsForDrawingGridOrigin/> <w:Compatibility> <w:FootnoteLayoutLikeWW8/> <w:ShapeLayoutLikeWW8/> <w:AlignTablesRowByRow/> <w:ForgetLastTabAlignment/> <w:LayoutRawTableWidth/> <w:LayoutTableRowsApart/> </w:Compatibility> </w:WordDocument> </xml><![endif]--> <style> <!-- /* Font Definitions */ @font-face {font-family:"Futura Bk"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Times New Roman"; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:"Comic Sans MS"; panose-1:3 15 7 2 3 3 2 2 2 4; mso-font-charset:0; mso-generic-font-family:script; mso-font-pitch:variable; mso-font-signature:647 0 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} h1 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:1; font-size:14.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-font-kerning:14.0pt; font-weight:bold; mso-bidi-font-weight:normal;} h2 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:2; font-size:12.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; font-weight:bold; mso-bidi-font-weight:normal; font-style:italic; mso-bidi-font-style:normal;} h3 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; font-size:12.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; font-weight:normal;} h4 {mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; mso-outline-level:4; font-size:12.0pt; mso-bidi-font-size:10.0pt; font-family:"Times New Roman"; font-weight:bold;} h5 {mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; mso-outline-level:5; font-size:14.0pt; mso-bidi-font-size:10.0pt; font-family:"Times New Roman"; font-weight:normal;} h6 {mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:6; tab-stops:.5in; mso-layout-grid-align:none; text-autospace:none; font-size:10.0pt; font-family:"Courier New"; font-weight:bold;} p.MsoNormalIndent, li.MsoNormalIndent, div.MsoNormalIndent {margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoList2, li.MsoList2, div.MsoList2 {margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; text-indent:-.25in; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoListBullet2, li.MsoListBullet2, div.MsoListBullet2 {mso-style-update:auto; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; text-indent:-.25in; mso-pagination:widow-orphan; mso-list:l0 level1 lfo3; tab-stops:list .5in; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoSignature, li.MsoSignature, div.MsoSignature {margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:3.0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; mso-layout-grid-align:none; font-size:10.0pt; font-family:"Comic Sans MS"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; font-weight:bold;} p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent {margin-top:0in; margin-right:0in; margin-bottom:6.0pt; margin-left:.25in; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoListContinue2, li.MsoListContinue2, div.MsoListContinue2 {margin-top:0in; margin-right:0in; margin-bottom:6.0pt; margin-left:.5in; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2 {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; mso-bidi-font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} p {margin-right:0in; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} code {mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Courier New"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Courier New";} tt {mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Courier New"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} p.CcList, li.CcList, div.CcList {mso-style-name:"Cc List"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.ShortReturnAddress, li.ShortReturnAddress, div.ShortReturnAddress {mso-style-name:"Short Return Address"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.PPLine, li.PPLine, div.PPLine {mso-style-name:"PP Line"; mso-style-parent:Signature; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:3.0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.InsideAddressName, li.InsideAddressName, div.InsideAddressName {mso-style-name:"Inside Address Name"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:-125; mso-list-type:simple; mso-list-template-ids:-218198392;} @list l0:level1 {mso-level-number-format:bullet; mso-level-style-link:"List Bullet 2"; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l1 {mso-list-id:247084106; mso-list-type:hybrid; mso-list-template-ids:1643154800 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} @list l2 {mso-list-id:252513578; mso-list-type:hybrid; mso-list-template-ids:811916116 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l2:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l2:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} @list l3 {mso-list-id:524485251; mso-list-type:hybrid; mso-list-template-ids:-175104624 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l3:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l3:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l3:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} @list l4 {mso-list-id:1505632988; mso-list-type:hybrid; mso-list-template-ids:904969346 1896489038 -1021140422 616970556 753855378 -307702454 337287590 -362651142 1385077412 129915254;} @list l4:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l4:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l4:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} @list l5 {mso-list-id:2007662374; mso-list-type:hybrid; mso-list-template-ids:1413667294 -1837347444 1447836560 -2085591486 1525986426 420924086 1411915016 220890626 1754024258 -168013522;} @list l5:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l5:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l5:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style> <!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="2050"/> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]--> </head> <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'> <div class=Section1> <h1 align=center style='text-align:center'>HP WBEM Services</h1> <h1 align=center style='text-align:center'>Java Client SDK Version 2.0 </h1> <h1 align=center style='text-align:center'><span style="mso-spacerun: yes"> </span>Release Notes</h1> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]><span style='font-style:normal; mso-bidi-font-style:italic'>1.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>Overview<o:p></o:p></span></h2> <p style='margin-right:.4in;text-align:justify'>The WBEM Java Client SDK is a set of APIs that contain the components necessary to write management applications that communicate with WBEM-enabled management devices using XML and HTTP communication standards. </p> <p style='margin-right:.4in;text-align:justify'>WBEM applications request information or services from the Common Information Model (CIM) Object Manager through the WBEM APIs. These APIs represent CIM objects as Java classes. These APIs can be used to describe managed objects and retrieve information about managed objects on a system. </p> <p style='margin-right:.4in;text-align:justify'>WBEM client applications use the <tt><span style='font-size:10.0pt;font-family:"Courier New"'>org.snia.wbem.client</span></tt> APIs to manipulate CIM objects. A client application uses the CIM API to construct an object (for example, a class, instance, or namespace) and then initializes, or instantiates that object. The application uses the client APIs to pass the object to the CIM Object Manager (CIMOM) and request an operation, such as creating a CIM class, instance, or deleting an instance.</p> <p style='margin-right:.4in;text-align:justify'>CIM Listener (org.snia.wbem.listener) provides interfaces to process CIM/XML Indications.</p> <p style='margin-right:.4in;text-align:justify'>The javadoc documentation includes the following packages that the client applications require to make CIM operation requests to a CIM Object Manager. </p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbem.client</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbem.cim</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbemcfg</p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify'>org.snia.wbem.listener</p> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]><span style='font-style:normal; mso-bidi-font-style:italic'>2.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>Requirements<o:p></o:p></span></h2> <p class=MsoNormal><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l5 level1 lfo8;tab-stops:list .5in'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The apache xerces XML parser 1.4.4. <o:p></o:p></span></li> </ul> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>You must use Xerces 1.4.4 version. It can be downloaded from<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:1'> </span><a href="http://xml.apache.org/dist/xerces-j/">http://xml.apache.org/dist/xerces-j/</a><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l4 level1 lfo11;tab-stops:list .5in'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Java 1.4 version ( JRE 1.4 )</span> <span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>Java 1.4 version is used because it includes JSSE (for SSL), JAAS (Java authentication), JCE (Crypto). Note that all these packages (JSEE, JAAS, JCE) are not part of earlier versions of Java. You may download Java 1.4 from http://www.hp.com/go/java/.<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.25in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The Java CLASSPATH must include the following:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/jsse.jar:$XERCES_HOME/xerces-1_4_4/xerces.jar:$CIMCLIENT_HOME/cimclient.jar:.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]><span style='font-style:normal; mso-bidi-font-style:italic'>3.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>What's new in 2.0 Release?<o:p></o:p></span></h2> <p class=MsoBodyText2>1. This version supports both SSL and non-SSL based CIM/XML indications.<span style="mso-spacerun: yes"> </span>Client SDK now includes the CIM Listener interfaces for writing CIM/XML indication consumers. With Secured Listener, 2-way SSL authentication is always enabled with CIM/XML Indications.<span style="mso-spacerun: yes"> </span>Please refer to Java documentation of org.snia.wbem.listener package. You can also refer to the “CIM-XML Listener” section in this document on how to write consumers.</p> <p class=MsoBodyText2>2. Redesigned CIM HTTP Listener interface to separate Consumer interfaces from Listener</p> <p class=MsoBodyText2>3. Added Operation Context – which is (can be) used to pass additional information to clients/consumers.</p> <p class=MsoBodyText2>4. Added support for Local connection in Java CIM Client interface. I.E. Java CIM Clients that wish to do local connection to CIMServer can now use this feature.</p> <p class=MsoBodyText2><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='mso-bidi-font-size: 10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <h2 style='margin-top:12.0pt;margin-right:.4in;margin-bottom:3.0pt;margin-left: .5in;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops: list .5in'><![if !supportLists]><span style='font-style:normal;mso-bidi-font-style: italic'>4.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>Writing WBEM Clients<o:p></o:p></span></h2> <p class=MsoNormal> </p> <p class=MsoNormal style='text-align:justify'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>WBEM client applications use the </span><tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>org.snia.wbem.client</span></tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> APIs to manipulate CIM objects on the CIM Object Manager. A client application uses classes in </span><tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>org.snia.wbem.cim package </span></tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>to construct an object (for example, a class, instance, or namespace) and initializes that object. Then uses the client APIs to pass the object to the CIMOM and request a CIM operation, such as creating a CIM class, instance, or namespace.<o:p></o:p></span></p> <p>Client applications typically follow this sequence:</p> <p style='margin-left:.5in;text-indent:-.25in;tab-stops:list .5in'>1.<span style='font-size:7.0pt'> </span>Connect to the CIMOM using <tt><span style='font-size:10.0pt;font-family:"Courier New"'>CIMClient</span></tt>. A client application connects to the CIMOM before performing a CIM operation, such as creating a CIM class or updating a CIM instance. </p> <p style='margin-left:.5in;text-indent:-.25in;tab-stops:list .5in'>2.<span style='font-size:7.0pt'> </span>Use the client APIs to request CIM operations. Most of the client programs perform tasks such as creating, deleting and modifying classes and instances; enumerating instances; invoking provider methods; and handling errors and exceptions. </p> <p style='margin-left:.5in;text-indent:-.25in;tab-stops:list .5in'>3.<span style='font-size:7.0pt'> </span>Close the client connection to the CIM Object Manager using <tt><span style='font-size:10.0pt; font-family:"Courier New"'>CIMClient</span></tt>, to free the server resources used by the client session. </p> <p class=MsoNormal> </p> <h3><b>Opening a Client Connection<o:p></o:p></b></h3> <p class=MsoNormal> </p> <p class=MsoBodyText2>Client applications typically import the required CIM classes and create CIM objects and then open client connection.<span style="mso-spacerun: yes"> </span>Some of the common imports and CIM object creations are show below.</p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 0in 1.0pt 31.0pt'> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.client.CIMClient;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMNameSpace;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMObjectPath;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMClass;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMProperty;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMInstance;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMValue;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMQualifierType;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.cim.CIMException;<o:p></o:p></span></p> </div> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 31.0pt'> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>CIMNameSpace clientNameSpace = null;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>CIMClient cc = null;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>int portNo = CIMNameSpace.DEFAULT_PORT;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>String nameSpace = "root/cimv2";<span style="mso-spacerun: yes"> </span>// namespace<o:p></o:p></span></p> </div> <p class=MsoNormal> </p> <p class=MsoNormal><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <p class=MsoNormal style='text-align:justify'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>To open a client connection, you use the </span><tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>CIMClient</span></tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> class to connect to the CIM Object Manager. You must specify the required type of connection (HTTP or HTTPS) in the CIMNameSpace constructor. If connection type is not specified the HTTP is used as the default. You must also specify the user name and password for the connection to the specified CIM server.<o:p></o:p></span></p> <p class=MsoNormal style='text-align:justify'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='text-align:justify'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>Example HTTP connection:<o:p></o:p></span></p> <p class=MsoNormal style='text-align:justify'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 0in'> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt;mso-bidi-font-weight:bold;mso-bidi-font-style:italic'><span style="mso-spacerun: yes"> </span></span><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>String hostURL = "<b>http</b>://" + hostname + ":" + portNo;<o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='mso-bidi-font-size: 10.0pt'><span style="mso-spacerun: yes"> </span>try <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>clientNameSpace = new CIMNameSpace(hostURL, nameSpace);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>cc = new CIMClient(clientNameSpace, "guest", "guest", CIMClient.HTTP);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>} <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMException e) <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.err.println("Failed to access CIMOM: " + e);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> </div> <p class=MsoNormal> </p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Example HTTPS connection:<o:p></o:p></span></p> <p class=MsoNormal> </p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 0in'> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt;mso-bidi-font-weight:bold;mso-bidi-font-style:italic'><span style="mso-spacerun: yes"> </span></span><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>String hostURL = "<b>https</b>://" + hostname + ":" + portNo;<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>try <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>clientNameSpace = new CIMNameSpace(hostURL, nameSpace);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>cc = new CIMClient(clientNameSpace, "guest", "guest", CIMClient.HTTP);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>} <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMException e) <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.err.println("Failed to access CIMOM: " + e);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> </div> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:Arial; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> </span> <h3><b>Performing CIM Operations <o:p></o:p></b></h3> <p class=MsoNormal> </p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The following examples show how to do CIM operations using org.snia.wbem.client APIs.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <h4> </h4> <h4>Enumerating classes</h4> <p class=MsoNormal> </p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The following example shows how to do <i>enumerateClasses </i>of <i>CIM_ComputerSystem</i><o:p></o:p></span></p> <p class=MsoNormal> </p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 31.0pt'> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>try<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("\n*** Enumerate classes - No DEEP");<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>CIMObjectPath path = new CIMObjectPath("CIM_ComputerSystem");<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Boolean deepInheritance = false;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Boolean localOnly = true;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Boolean includeQualifiers = true;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Boolean includeClassOrigin = true;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Enumeration en = cc.enumerateClasses(path, deepInheritance,<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>localOnly, includeQualifiers,<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>includeClassOrigin);<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>if (en != null)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>while ( en.hasMoreElements() )<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>CIMClass cimclass = (CIMClass) en.nextElement();<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("Class name: " + cimclass.getName());<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMException ce)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.err.println("Failed to enumerate classes: " + ce);<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 31.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> </div> <p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <h4> </h4> <span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> </span> <h4>InvokeMethod Operation</h4> <p class=MsoNormal> </p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The following example shows how to do <i>invokeMethod </i>on a <i>Sample_MethodProvider.</i><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// NOTE: The following test requires the Sample_MethodProviderClass<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// and a sample method provider for Sample_MethodProviderClass.<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("\n*** Invoke Method.");<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String testNameSpace = "root/SampleProvider";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String testClassName = "Sample_MethodProviderClass";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String methodName = "SayHello";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String inParamValue = "Yoda";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String goodReply = "Hello, " + inParamValue + "!";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String goodParam = "From Neverland";<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>CIMObjectPath currentPath;<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Vector inParams = new Vector();<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>Vector outParams = new Vector();<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>CIMValue retValue;<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>try<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// construct CIMObjectPath<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>currentPath = new CIMObjectPath(testClassName);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// set the namespace<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>currentPath.setNameSpace(testNameSpace);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// create parameter vectors<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>inParams.addElement( new CIMProperty("dummy",<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:2'> </span>new CIMValue(inParamValue, CIMDataType.getPredefinedType(<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>CIMDataType.STRING))));<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// call invokeMethod<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>retValue=cc.invokeMethod(currentPath, methodName, inParams,<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>outParams);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("InvokeMethod response = " + retValue.toString());<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMException ce)<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.err.println("invokeMethod Failed: " + ce);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style="mso-spacerun: yes"> </span>}<span style="mso-spacerun: yes"> </span></p> </div> <h3><b> <o:p></o:p></b></h3> <h3><b>Closing Client Connection<o:p></o:p></b></h3> <p class=MsoNormal><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></b></p> <p class=MsoBodyText2>Clients may close the connection by calling the CIMClient.close() method. Client connection will also be closed when the CIMClient object goes out of scope. </p> <p class=MsoNormal> </p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 0in'> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>try<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>if( cc != null ) <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>cc.close();<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMException ce)<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.err.println("Failed to close connection: " + ce);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> </div> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><i style='mso-bidi-font-style: normal'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></i></b></p> <h3><b>Java CIM Client Local connection<o:p></o:p></b></h3> <p class=MsoBodyText2>This version support supports Local connection in Java CIM Client interface. I.E. Java CIM Clients that wish to do local connection to CIMServer can now use this feature. To do local connection clients create <code><span style='mso-ansi-font-size:12.0pt;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman"'>CIMClient(CIMNameSpace namespace)</span></code><span style="mso-spacerun: yes"> </span>and this creates local connection to the CIM Server running on the local system for the specified namespace. Clients do not have to specify the username and/or password as the authentication is done based the user logged in.</p> <p class=MsoBodyText2><i style='mso-bidi-font-style:normal'><span style='mso-bidi-font-weight:bold'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></i></p> <h2 style='margin-top:12.0pt;margin-right:.4in;margin-bottom:3.0pt;margin-left: .5in;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops: list .5in'><![if !supportLists]><span style='font-style:normal;mso-bidi-font-style: italic'>5.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>SSL Certificate Management<o:p></o:p></span></h2> <p class=MsoNormal style='margin-right:.4in;text-align:justify'> </p> <p style='margin-right:.4in;text-align:justify'><b>Importing Certificates into Java Trust Store<o:p></o:p></b></p> <p style='margin-right:.4in;text-align:justify'>1. Export the server certificate from the .pem file. </p> <p style='margin-right:.4in;text-align:justify;text-indent:.25in'>Use <span style='font-family:"Courier New"'>openssl</span> command to export Pegasus CIMServer certificate file. <span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family: "Courier New"'><o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify;text-indent:.25in'><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'># /opt/wbem/sbin/openssl x509 -in /var/opt/wbem/server.pem -out server.cer<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>2. Import the server certificate in to the client trust store.<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>- Copy the server certificate on to the client system.<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>- Use Java </span><span style='mso-bidi-font-size:10.0pt;font-family:"Courier New"'>keytool</span><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'> to import the certificate into the client trust store.<o:p></o:p></span></p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify'><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'># keytool -import -alias sequoia1 -file server.cer -keystore mytruststore<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>You will be asked to enter a password. The password is required only for modifying mytruststore in the future. The keytool creates the trust store if it is not already exists and then import the specified certificate. (For example we entered the password as “wbem01”)<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>3. Specify the truststore in the command line of the client application using “-Djavax.net.ssl.trustStore”.<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>For Example,<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='font-size:11.0pt; mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'>java -Djavax.net.ssl.trustStore=mytruststore <MyClient> <system> root/cimv2 5989 ssl<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>4. If your client application is written to update the truststore file programmatically then you must also specify the password that was used to create the truststore using<span style="mso-spacerun: yes"> </span>“-Djavax.net.ssl.trustStorePassword”.<o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>For Example,<o:p></o:p></span></p> <p style='margin-right:.4in'><span style='font-size:11.0pt;mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'>java -Djavax.net.ssl.trustStore=mytruststore<span style="mso-spacerun: yes"> </span>-Djavax.net.ssl.trustStorePassword=wbem01 <MyClient><span style="mso-spacerun: yes"> </span><system> root/cimv2 5989 ssl<span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p style='margin-right:.4in;text-align:justify'><b> <o:p></o:p></b></p> <p style='margin-right:.4in;text-align:justify'><b>Viewing Certificates and Trust Store files</b><b><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family: "Courier New"'><o:p></o:p></span></b></p> <p style='margin-right:.4in;text-align:justify'><span style='mso-bidi-font-size: 10.0pt;mso-bidi-font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>1.You view certificates in a certificate file using keytool command.<o:p></o:p></span></p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify;text-indent: .25in'><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'>keytool -printcert -file server.cer<o:p></o:p></span></p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify;text-indent: -.25in;tab-stops:list .5in'><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family: "Courier New"'>1.</span><span style='font-size:7.0pt'> </span><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'>You can view all the certificates in a truststore using the keytool command.<o:p></o:p></span></p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify;text-indent: .25in'><span style='mso-bidi-font-size:10.0pt;mso-bidi-font-family:"Courier New"'>keytool -list -v -keystore mytruststore</span><b><o:p></o:p></b></p> <h2><span style='font-style:normal;mso-bidi-font-style:italic'> <o:p></o:p></span></h2> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]><span style='font-style:normal; mso-bidi-font-style:italic'>6.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>Writing A Trust Manager<o:p></o:p></span></h2> <p style='margin-right:.4in;text-align:justify'>The primary responsibility of the TrustManager is to determine whether the presented authentication credentials should be trusted or not. If the credentials are not trusted, the connection will be terminated. If no trust manager is specified by the client application then JSSE will use its own trust manager that supports authentication based on X.509 public key certificates. </p> <p style='margin-right:.4in;text-align:justify'>If the default X509TrustManager behavior isn't suitable for your situation, you can implement your own X509TrustManager. JSSE interface allows you to override certification validation and continue the SSL handshake. You can also use the interface to discontinue an SSL handshake by performing additional validation on a server's digital certificate chain.</p> <p style='margin-right:.4in;text-align:justify'>When an SSL client connects to an SSL server, the SSL server presents its digital certificate chain to the client for authentication. This certificate chain can contain invalid digital certificates. As per the SSL specification, the client should drop the SSL connection once it discovers an invalid certificate. However, some applications such as Web Browsers ask the user whether to accept the invalid certificate. The Trust Manager eliminates this inconsistent practice by enabling you to control when to continue or discontinue an SSL connection. Using a Trust Manager you can perform custom checks before continuing an SSL connection. For example, you can use the Trust Manager to specify that only users from specific localities, such as towns, states, or countries, or users with other special attributes, to gain access via the SSL connection. </p> <p style='margin-right:.4in;text-align:justify'>Here is an example of a Trust Manager that basically ignores the server certificates chain by not validating the certificate chain. It accepts any certificates from any server and goes ahead with SSL handshake.<b> <o:p></o:p></b></p> <span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> </span> <div style='border:solid windowtext .5pt;padding:1.0pt 31.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import java.security.cert.*;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import java.security.KeyStore;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>import javax.net.*;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;tab-stops:400.5pt;border:none; mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>import javax.net.ssl.*;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;tab-stops:400.5pt;border:none; mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>/**<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>This class implements the X509TrustManager interface.<span style="mso-spacerun: yes"> </span>It does not validate the certificate chain sent by the server, it basically ignores the certificate chain and goes ahead with the SSL hand shake. <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>*/<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>public class DontValidateCertificate implements X509TrustManager<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>X509TrustManager<span style="mso-spacerun: yes"> </span>myX509TrustManager;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>/**<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* checkClientTrusted checks to see if the chain is in the <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* keyStore object.<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>*/<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>public void checkClientTrusted(X509Certificate[] chain, <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String authType) throws CertificateException<span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{ <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>/**<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* checkServerTrusted verifies to see if the chain is in the <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* keyStore object.<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>*/<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>public void checkServerTrusted(X509Certificate[] chain, <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>String authType) throws CertificateException<span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{ <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>/**<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* This method retrieves all of the certificates in the keyStore <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* and returns them in an X509Certificate array. We return null <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* as we are accepting any certificates. We should only return null if we are using this trust manager <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* with CIMClient applications. However, we must return an empty X509Certificate[] is used with<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>* CIM Listener (which is SSL Server) interface. <o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>*/<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>public X509Certificate[] getAcceptedIssuers()<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>return null;<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='margin-top:0in;margin-right:.9in;margin-bottom:0in; margin-left:9.0pt;margin-bottom:.0001pt;border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 31.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>}<o:p></o:p></span></p> </div> <span style='font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:EN-US; mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> </span> <p style='margin-right:.4in;text-align:justify'>The Client SDK includes the following two simple trust managers.</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbemcmd.xml.CertificateManager</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbemcmd.xml.DontValidateCertificate</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span>org.snia.wbem.listener.DoNotValidateClientCert<span style="mso-spacerun: yes"> </span>( Note: Use this with CIM Listener interface)</p> <p style='margin-right:.4in;text-align:justify'>Client API uses JSSE trust manager by default. If you want the API to use your own trust manager then you need to explicitly specify. </p> <p style='margin-right:.4in'>Refer to JSSE reference guide <span style='color:blue'><a href="http://java.sun.com/j2se/1.4/docs/guide/security/jsse/JSSERefGuide.html">http://java.sun.com/j2se/1.4/docs/guide/security/jsse/JSSERefGuide.html</a> </span>for more information about writing trust managers.</p> <p class=MsoNormal> </p> <h2 style='margin-top:12.0pt;margin-right:.4in;margin-bottom:3.0pt;margin-left: .5in;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops: list .5in'><![if !supportLists]><span style='font-style:normal;mso-bidi-font-style: italic'>7.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-style:normal;mso-bidi-font-style: italic'>Configuration<o:p></o:p></span></h2> <p style='margin-right:.4in;text-align:justify'>The Client SDK allows the client applications to specify the following configuration properties in a property file. If no property file is specified then the SDK will use default values for all the properties. If the property file is specified but one or more properties are not set in the property file, then SDK will use the default values for those properties.</p> <div align=center> <table border=1 cellspacing=0 cellpadding=0 style='margin-left:54.9pt; border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt; mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=252 valign=top style='width:189.0pt;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'><b><span style="mso-spacerun: yes"> </span>Property Name<o:p></o:p></b></p> </td> <td width=348 valign=top style='width:261.0pt;border:solid windowtext .5pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'><b>Default Value<o:p></o:p></b></p> </td> </tr> <tr> <td width=252 valign=top style='width:189.0pt;border:solid windowtext .5pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>DEBUG_XML </p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>DEBUG_XMLDECODE</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>clientLogFilePath</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>TrustManager</p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'>False</p> <p style='margin-right:.4in;text-align:justify'>False</p> <p style='margin-right:.4in;text-align:justify'>"/logs/clientout.txt"</p> <p style='margin-right:.4in;text-align:justify'>Do not define this in properties file unless you have your own Trust Manager. Do not set it to NULL either. JSSE uses its default Trust<span style="mso-spacerun: yes"> </span>Manager only if this property is not defined.</p> </td> </tr> </table> </div> <p style='margin-right:.4in;text-align:justify'>The DEBUG_XML, DEBUG_XMLDECODE, and clientLogFilePath properties are only for developmental debug purposes and they should not be set in the release product and should not be exposed to the client application users.</p> <p style='margin-right:.4in;text-align:justify'>Note: The debug trace or logging in the client API is not thread safe, it is recommended that clients do not use debug logging in a multi-threaded application. </p> <p style='margin-right:.4in;text-align:justify'>The client applications can only use the set methods in “GlobalConfig” class to set the following configuration properties if needed. The above four properties can also be set using the set methods.</p> <p style='margin-right:.4in;text-align:justify'> </p> <div align=center> <table border=1 cellspacing=0 cellpadding=0 width=547 style='width:409.9pt; margin-left:54.9pt;border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt; mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=207 valign=top style='width:154.95pt;border:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'><b><span style="mso-spacerun: yes"> </span>Property Name<o:p></o:p></b></p> </td> <td width=340 valign=top style='width:254.95pt;border:solid windowtext .5pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'><b>Default Value<o:p></o:p></b></p> </td> </tr> <tr> <td width=207 valign=top style='width:154.95pt;border:solid windowtext .5pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>httpSocketProvider</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'>httpsSocketProvider</p> </td> <td width=340 valign=top style='width:254.95pt;border-top:none;border-left: none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; padding:0in 5.4pt 0in 5.4pt'> <p style='margin-right:.4in;text-align:justify'>org.snia.wbemcmd.xml.PlainSocketProvider</p> <p style='margin-right:.4in;text-align:justify'>org.snia.wbemcmd.xml.JSSESocketProvider</p> </td> </tr> </table> </div> <p style='margin-right:.4in;text-align:justify;text-indent:.25in'> </p> <p style='margin-right:.4in;text-align:justify'>The client applications can specify the properties file in the following ways:</p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify;text-indent: -.25in;tab-stops:list .5in'>1.<span style='font-size:7.0pt'> </span>Specify the property file on the command line by setting “–D org.snia.wbem.cimom.properties”</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify;text-indent: .25in'>For example,</p> <p style='margin-right:.4in;margin-left:.25in;text-align:justify'><span style='mso-tab-count:1'> </span># java -Dorg.snia.wbem.cimom.properties=./cim.properties <myAapp></p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify;text-indent: -.25in;tab-stops:list .5in'>2.<span style='font-size:7.0pt'> </span>Specify the property file programmatically using the System.setProperty() before creating the CIMClient object.</p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify'>For example,</p> <p style='margin-right:.4in;margin-left:.5in;text-align:justify'>System.setProperty("org.snia.wbem.cimom.properties", “./cim.properties”);</p> <pre><span style='font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman"'> <o:p></o:p></span></pre> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]>8.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>CIM-HTTP<span style="mso-spacerun: yes"> </span>Listener</h2> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:8.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:8.0pt'>A <b>CIM-HTTP Listener </b>is an HTTP server that receives and processes CIM Export Requests and issues CIM Export Responses. An CIM Export Message is used to transfer data from a CIM entity into a non-CIM entity.</span><span style='font-size:12.0pt;display:none;mso-hide:all'><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in'><b><span style='font-size:12.0pt; mso-bidi-font-size:9.0pt'>What are the components of a CIM-HTTP Listener?<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l3 level1 lfo14;tab-stops:list .5in'><b><span style='font-size:12.0pt;mso-bidi-font-size:7.5pt'>CIM-HTTP Listener Protocol “module”. </span></b><span style='font-size:12.0pt;mso-bidi-font-size: 7.0pt'>The CIM-HTTP Listener Protocol “module” receives indications from (and generates responses to) the CIM/XML Indication Handler. </span><span style='font-size:12.0pt;mso-bidi-font-size:7.5pt;display:none;mso-hide: all'><o:p></o:p></span></li> </ul> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:7.5pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='mso-list:l3 level1 lfo14;tab-stops:list .5in'><b><span style='font-size:12.0pt;mso-bidi-font-size:7.5pt'>Indication Consumer.</span></b><span style='font-size:12.0pt;mso-bidi-font-size:7.5pt'><span style="mso-spacerun: yes"> </span>A management application that processes, displays, stores, analyzes, etc indications. <o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l3 level1 lfo14;tab-stops: list .5in'><b><span style='font-size:12.0pt;mso-bidi-font-size:7.5pt; color:windowtext'>CIM_Indication Schema.</span></b><span style='font-size: 12.0pt;mso-bidi-font-size:7.5pt;color:windowtext'> The schema definition for indication objects of interest to the CIM-XML Listener.</span><span style='font-size:11.0pt;mso-bidi-font-size:7.5pt'><o:p></o:p></span></li> </ul> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:7.5pt; font-family:"Futura Bk";color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:7.5pt; font-family:"Futura Bk";color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoBodyText2>The listener is associated with the subscription through the destination property of the handler instance. Multiple subscriptions can refer to the same handler instance; so one listener can listen to multiple subscriptions.</p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>With subscription you will specify the destination where the Listener is running. <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>For example,<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>1. SSL enable consumer<o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><PROPERTY NAME="Destination" TYPE="string"><o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><VALUE><b>https</b>://mysystem.cup.hp.com:8189/cimom/Pegasus_RT_IndicationConsumer</VALUE><o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'></PROPERTY><o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='mso-bidi-font-size: 10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>1. Non-SSL enable consumer<o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><PROPERTY NAME="Destination" TYPE="string"><o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'><VALUE><b>http</b>://mysystem.cup.hp.com:8189/cimom/Pegasus_RT_IndicationConsumer</VALUE><o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'></PROPERTY><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>In the above case, Listener would be running on mysystem.cup.hp.com at port 8189 with SSL enabled.</span><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:7.5pt; font-family:"Futura Bk";color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:7.5pt; font-family:"Futura Bk";color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <h3 style='tab-stops:.5in'><b><span style='font-size:11.0pt;mso-bidi-font-size: 10.0pt'>Writing CIM-XML Consumer<o:p></o:p></span></b></h3> <p class=MsoNormal style='tab-stops:.5in'> </p> <p class=MsoNormal style='text-align:justify;tab-stops:.5in'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>CIM-XML consumer applications use the </span><tt><span style='font-size:12.0pt;mso-bidi-font-size: 10.0pt;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>org.snia.wbem.listner</span></tt><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'> APIs to handle CIM-XML indications that are delivered by the client Applications.<span style="mso-spacerun: yes"> </span>Please follow some of examples that are provided with the SDK. <o:p></o:p></span></p> <p class=MsoNormal style='text-align:justify;tab-stops:.5in'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoBodyText2>First implement a consumer using CIMIndicationConsumer interface. Then create a CIMListener object, add the list of consumers that are interested in consuming Indications. </p> <p style='tab-stops:.5in'>CIM-XML Listener Consumers typically follow this sequence:</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo17; tab-stops:list .5in'><![if !supportLists]>1.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Identify the port number they want to listen for indications.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo17; tab-stops:list .5in'><![if !supportLists]>2.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Implement a consumer using CIMIndicationConsumer interface.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo17; tab-stops:list .5in'><![if !supportLists]>3.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Write it’s own ‘consumerIndication(); method to process indication when received.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo17; tab-stops:list .5in'><![if !supportLists]>4.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Use the CIM HTTP Listener APIs to start listening on a particular port.</p> <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo17; tab-stops:list .5in'><![if !supportLists]>5.<span style='font:7.0pt "Times New Roman"'> </span><![endif]>Start running as a process</p> <p class=MsoNormal style='tab-stops:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'> <b>Import classes<o:p></o:p></b></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 0in 1.0pt 31.0pt'> <p class=MsoNormal style='margin-left:.5in;tab-stops:.5in;border:none; mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.listener.CIMHTTPListener;<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;tab-stops:.5in;border:none; mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.listener.</span>CIMIndicationConsumer;</p> <p class=MsoNormal style='margin-left:.5in;tab-stops:.5in;border:none; mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt:1.0pt 0in 1.0pt 31.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>import org.snia.wbem.xml.</span>OperationContext;</p> </div> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <h6>Implement CIMIndicationConsumer interface</h6> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>public class MyIndicationConsumer implements CIMIndicationConsumer<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>MyIndicationConsumer(String name) <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{ <o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("I am a consumer" + name);<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>public void consumeIndication(OperationContext context,<o:p></o:p></span></p> <p class=MsoBodyText2 style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style="mso-spacerun: yes"> </span>String URL, CIMIndication cime)</p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// do something with indications received<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='border:none;mso-border-alt:solid windowtext .5pt; padding:0in;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size: 12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}</span></p> </div> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Indication Processor (consumeIndicattion()) method<o:p></o:p></span></b></p> <p class=MsoBodyText2 style='tab-stops:.5in;mso-layout-grid-align:none; text-autospace:none'>Once the indication is received you can have your own consumerIndication() method that can process the CIMInstance which is passed by the CIMListener. Here is an example:</p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:2.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>public void <b>consumeIndication</b>(XMLOperationContext context , <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>String URL,<span style="mso-spacerun: yes"> </span>CIMIndication ind)<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("---------- Begin of event data ----------");<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("--- Indication URL : "+indURL);<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("--- Indication : "+ind.toString());<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>try <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>Object o=null;<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>if (ind.getClassName().startsWith("CIM_Class"))<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>o=(Object)ind.getProperty("classdefinition").getValue().getValue();<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>if (ind.getClassName().startsWith("CIM_Inst"))<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>o=(Object) ind.getProperty("sourceinstance").getValue().getValue();<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>if (o instanceof CIMInstance) <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style='mso-tab-count:1'> </span><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>CIMInstance eo=(CIMInstance)o;<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("--- Embedded Instance: "+eo);<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>else if (o instanceof CIMClass) {<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>CIMClass eo=(CIMClass)o;<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("--- Embedded Class: "+eo);<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>System.out.println("----------- End of event data -----------\n");<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>catch (Exception ee) <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style="mso-spacerun: yes"> </span>ee.printStackTrace();<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 2.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> </div> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <h4 style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace:none'>Developing CIM HTTP Listener</h4> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>public class SampleListener<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>{<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>CIMHTTPListener myListener =<span style="mso-spacerun: yes"> </span>new CIMHTTPListener(listenerPortNo, isSSL);<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>try {<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:1.0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>// Add consumer<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:1.0in'>MyIndicationConsumer consumer1 = new MyIndicationConsumer("1");</p> <p class=MsoNormal style='margin-left:1.0in'>myListener.addConsumer(consumer1);</p> <p class=MsoNormal style='margin-left:1.0in'><span style='font-size:12.0pt; mso-bidi-font-size:10.0pt'>myListener.start ();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>} <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>catch (CIMExecption ce) <o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println(“Unable to add consumers: “ + ce.getMessage());<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>}<span style="mso-spacerun: yes"> </span><o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>}<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Operation Context Object<o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>OperationContext class holds the operation specific additional information that will be passed to clients or consumers. It carries the information about the context in which the client program issued the request.<span style="mso-spacerun: yes"> </span>OperationContext holds container objects.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>For example: Listener interface would want to pass additional information, such as content language, to consumers. In such case Listener would create an Operation Context and add Content Language container into the context. The context is passed to consumers.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Consumers can then use Context get method to the container object.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// Create Context<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>OperationContext myContext = new OperationContext();<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// Create a OperationContext Container object<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>ExampleContextContainer myContainer = new ExampleContextContainer();<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// insert objects into Context <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>myContext.insert((OperationContext)myContainer);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>// get objects from the Context <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>ExampleContextContainer clCont =<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>(ExampleContextContainer)myContext.get(ExampleContextContainer.NAME);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style="mso-spacerun: yes"> </span>System.out.println("Got back :" + clCont.getName());<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none;border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>}<o:p></o:p></span></p> </div> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <h6><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></h6> <h6><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman"'>Example OperationContext Container<o:p></o:p></span></h6> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>The ExampleContextContainer object carries the request context information that consumer may access. <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'>public class ExampleContextContainer implements OperationContextContainer<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>/** Container name of this container */<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>public static final String NAME="ExampleContextContainer";<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>public ExampleContextContainer() { }<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>public String getName()<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>return(NAME);<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>public Object clone()<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>{<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>return ((Object)new ExampleContextContainer());<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>}<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'>};</span><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><o:p></o:p></span></p> </div> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>SSL Support with CIM Listener<o:p></o:p></span></b></p> <p style='tab-stops:.5in'>The CIM Listener interface supports SSL for secure communication. The CIM Listener (a Server) can accept either http or https connections from the system delivering indications (an Indication Client). The Listener applications (Indication Consumers) using the CIM Listener API would require to have a server certificate and private key in order to support SSL enabled communication with the Indication clients. The Listener applications can write their own X509 Trust Manager where they can do additional validations like host name verification. However the CIM Listener API provides a default X509 Trust Manager that does not do any additional validations.</p> <p style='tab-stops:.5in'>The CIM Listener running as server, does client authentication by requesting the Indication Client to send its certificate for authentication. Hence the Indication Client (e.g., CIM Server) trying to connect to the CIM Listener using https connection must have its own certificate. </p> <h4>Creating subscription</h4> <p class=MsoNormal><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Creating subscription is same as creating any CIM instance...you will use CIM Client interfaces to do so. Currently WBEM (core CIMServer) only supports CIM_IndicationSubscription, CIM_IndicationFilter, CIM_IndicationHandlerCIMXML and IndicationHandlerSNMPMapper classes. </span><span style='font-family:"Courier New"'><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace: none'><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <h2 style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo5; tab-stops:list .5in'><![if !supportLists]><span style='font-family:"Courier New"'>9.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Troubleshooting and CIM Exceptions<span style='font-family:"Courier New"'><o:p></o:p></span></h2> <p style='text-align:justify;tab-stops:.5in'>In addition to the standard CIM Exceptions sent by the CIM Server to the client, the CIM Client library generates the following exceptions. The exception generated by the client library along with the reason and solution is explained below:</p> <p style='tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_SSL_HANDSHAKE_FAILED (Unable to Initialize Specified TrustManager: <a href="mailto:org.snia.wbemcmd.xml.HTTPOutputSimple@ed0338"><span style='mso-bidi-font-family:"Courier New";color:windowtext'>org.snia.wbemcmd.xml.HTTPOutputSimple@ed0338</span></a>)<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>This exception indicates that the specified TrustManager may not exist, may contain invalid path, or it may not have required permission to load.</p> <p style='text-align:justify;tab-stops:.5in'>Solution: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>Make sure that the TrustManager you have specified exist and has correct path and right permissions. Also make sure that the TrustManager is not set to “null”. </p> <p style='tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_SSL_HANDSHAKE_FAILED(SSL Factory Initialization failed: <a href="mailto:org.snia.wbemcmd.xml.HTTPOutputSimple@ed0338"><span style='mso-bidi-font-family:"Courier New";color:windowtext'>org.snia.wbemcmd.xml.HTTPOutputSimple@ed0338</span></a>)<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>This exception may happen in number different scenarios. Such as, unable to find JSSE providers, unable to generate random seed, unable to connect to correct server, server had problem with SSL handshake, or policy permissions are incorrect.</p> <p style='text-align:justify;tab-stops:.5in'>Solution: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>Follow JSSE specification and make sure the system java configurations are setup correctly.</p> <p style='text-align:justify;tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_HTTP_ERROR(Couldn't find trusted certificate, response=500)<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>This exception may happen because of SSL handshake failure. SSL handshake may fail because the certificate sent by the server was an invalid certificate or the certificate is not in clients Trust store.</p> <p style='text-align:justify;tab-stops:.5in'>Solution: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>Either add this certificate to client Trust store or handle the certificate appropriately in the Certificate Manager.</p> <p style='text-align:justify;tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_TIMED_OUT (Request Timeout)<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>This exception indicates that a timeout has occurred on a socket read. This could mean the server or provider may be slow in responding to client request, or the client time out is small.</p> <p style='text-align:justify;tab-stops:.5in'>Solution: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>Consider trying this operation at some other time or might want to set client timeout or increase the client timeout. Refer to CIMClient API java documentation for how to set client timeout.</p> <p style='text-align:justify;tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_CONNECTION_FAILED(Connection refused) <o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>This exception indicates that an error occurred while attempting to connect to CIMServer on a port. The CIMServer may not be running on the specified address or it may not be listening on the specified port.</p> <p style='text-align:justify;tab-stops:.5in'>Solution: </p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>Check to make sure that the server address is correct and the port number specified is the correct port number for an SSL or non-SSL communication. (e.g., This exception may be thrown if the CIMServer is SSL enabled and listening on port 5989, the client trying to connect to non-SSL port 5988.)</p> <p style='text-align:justify;tab-stops:.5in'><b>Exception: CIMCLIENT_ERR_CONNECTION_FAILED(sequoia Unknown host) <o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Problem: This exception indicates that the CIMServer address specified may contain an invalid system name or the system is not reachable.</p> <p style='text-align:justify;tab-stops:.5in'>Solution:<span style="mso-spacerun: yes"> </span>Make sure the specified CIMServer address is correct and the remote system is reachable.</p> <h2 style='tab-stops:.5in'><span style='font-style:normal;mso-bidi-font-style: italic'> <o:p></o:p></span></h2> <i style='mso-bidi-font-style:normal'><span style='font-size:12.0pt;mso-bidi-font-size: 10.0pt;font-family:Arial;mso-fareast-font-family:"Times New Roman";mso-ansi-language: EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> </span></i> <h2 style='tab-stops:.5in'><span style='font-style:normal;mso-bidi-font-style: italic'>Appendix A:<span style="mso-spacerun: yes"> </span>CIM Client FAQ<o:p></o:p></span></h2> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoBodyText style='text-autospace:none'><span style='font-family:"Courier New"'>CIMInstance.getKeyValuePairs() returns no keys although there are multiple keys in my (exaple PG_OperatingSystem has 4 keys) provider.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>This bug is fixed in 2.0 Final Release. <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><b><span style='font-family:"Courier New"'>I see my client hangs and does not return or how to set timeouts in a Client?<o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>When you have a SSL enabled client trying to connect non-SSL CIMServer and vice-versa. You may notice that the client does not return. In such case you should make sure to set the proper timeouts.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>Here is how you can set the timeouts:<o:p></o:p></span></p> <p class=MsoNormal style='text-indent:.5in;mso-layout-grid-align:none; text-autospace:none'><span style='font-family:"Courier New"'>1. Set READ timeout, refer to CIMClient class<o:p></o:p></span></p> <h3 style='margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;margin-left: 0in;mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size: 12.0pt;font-family:"Times New Roman"'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:2'> </span>CIMClient.setTimeout(int timeout); //in milliseconds<o:p></o:p></span></h3> <p class=MsoNormal style='margin-left:.5in;text-indent:.5in'><span style='font-family:"Courier New"'>This is a read timeout, i.e. the client has found the server and connected to it, and the server is not responding to any request. Basically the socket is blocked. This may happen in case of a Non-SSL client connecting to SSL server and also vice versa. For your applications I think setTimeout() call is good enough.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal style='text-indent:.5in;mso-layout-grid-align:none; text-autospace:none'>2.<span style='font-family:"Courier New"'> To set the connection timeout<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:2'> </span>//Assumption timeout is in seconds<o:p></o:p></span></p> <pre style='text-indent:.5in;tab-stops:.5in;mso-layout-grid-align:none; text-autospace:none'><span style='mso-fareast-font-family:"Times New Roman"'><span style="mso-spacerun: yes"> </span>Either you add the following line in your client program<o:p></o:p></span></pre> <p class=MsoNormal style='margin-left:.5in;text-indent:.5in;mso-layout-grid-align: none;text-autospace:none'><span style='font-family:"Courier New"'>System.setProperty("java.net.connectiontimeout","20") <o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:1'> </span>Or<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span><span style='mso-tab-count:1'> </span>You can pass it at run time, using<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:.5in;mso-layout-grid-align:none; text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>java -Djava.net.connectiontimeout=20<span style="mso-spacerun: yes"> </span>myclient<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal><b><span style='font-family:"Courier New"'>How </span></b><b><span style='font-family:Arial'>to decode a property that is an enumeration? I.E. to decode the numeric value that is returned for the property.<span style="mso-spacerun: yes"> </span>Does WBEM provide methods to look up the numeric value to retrieve a String value?<span style="mso-spacerun: yes"> </span>Or do I need to implement a look up table for every enumeration that I am interested in?<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:Arial'> <o:p></o:p></span></p> <pre style='tab-stops:.5in;mso-layout-grid-align:none;text-autospace:none'><span style='mso-fareast-font-family:"Times New Roman"'>The strings associated with enumeration property values are defined as </span>qualifiers on the class schema.<span style="mso-spacerun: yes"> </span>A client does not get these strings from a provider directly.<span style="mso-spacerun: yes"> </span>But rather than duplicate the string definitions on the client side, you can get them from the CIM server using a getClass operation.</pre> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>For example, PG_NISServerService:: ServerType is an enumeration.<span style="mso-spacerun: yes"> </span>When I make the request I get a numeric value between 0 and 4 (inclusive).<span style="mso-spacerun: yes"> </span>I then have to decode the numeric values as such:<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>"0" - Unknown<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>"1" - Other<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>"2" - Not an NIS Server<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>"3" - NIS Master<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>"4" - NIS Slave<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p style='text-align:justify;tab-stops:.5in'><b>The cimclient library performs the SSL handshaking and receives the certificate/key, what environment settings must be in place for certificates to be passed?<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Clients must create a trust store, import certificates from the server they trust in to the trust store, provide the trust store path to the JSSE either on the command line ( java -Djavax.net.ssl.trustStore=mytruststore <MyClient><span style="mso-spacerun: yes"> </span>) or through</p> <p style='text-align:justify;tab-stops:.5in'>System.setProperty("javax.net.trustStore", "mytruststore");</p> <p style='text-align:justify;tab-stops:.5in'><b>How do set ‘trustManager’ property </b><b><span style='font-size:10.0pt;font-family:Arial'>programmatically?<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style='mso-tab-count:1'> </span>String myTrustManager= "org.mycompany.cimapp.myCertManager";<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><span style='mso-tab-count:1'> </span>GlobalConfig.setTrustManager(myTrustManager);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>Note that you can not set this property to ‘null’. If you would like to use the default trust manager provided in JSSE, do not even define the trust manager property in your program or in your properties file.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <h4>Can I change the trust manager property in between my program/process?</h4> <p class=MsoNormal><b><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt'>No, you cannot. If you define/set this property in your Client application either using setTrustManager() or through<span style="mso-spacerun: yes"> </span>WBEM Client configuration file (like cim.properties) it will be set once per process, I.E you can not set/unset for every connection being in the same process.<o:p></o:p></span></p> <p style='text-align:justify;tab-stops:.5in'><b>Does the cimclient library accept the certificate and place it in the trust store?<span style="mso-spacerun: yes"> </span>How would the application specify to the cimclient library where the trust store is<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Client library using JSSE will only validate the server certificate using the trust store. It accepts only trusted certificates from the server. In case of non-trusted certificate the client library will call the trust manager if there is one specified. It is the job of trust manager to either accept the server certificate (possibly add that to the trust store) or reject the certificate.</p> <p style='text-align:justify;tab-stops:.5in'><b>How is the client application notified that the certificate or key was placed in the trust store?<span style="mso-spacerun: yes"> </span>Is this assumed?<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Same as above</p> <p style='text-align:justify;tab-stops:.5in'><b>Can the client application set the environment so that certificates or keys are required from some target systems but other target systems are not validated or authenticated?<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'>Yes, trust manager can do this.</p> <p style='text-align:justify;tab-stops:.5in'><b>Where can I find more information on Trust Manager and Trust Stores?<o:p></o:p></b></p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>More information can be found at J2SE web site.<span style="mso-spacerun: yes"> </span>- ----</p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'><span style='mso-bidi-font-family:"Courier New"'>http://java.sun.com/j2se/1.4/docs/guide/security/jsse/JSSERefGuide.html<o:p></o:p></span></p> <p style='margin-left:.5in;text-align:justify;tab-stops:.5in'>http://java.sun.com/j2se/1.4/docs/api/javax/net/ssl/X509TrustManager.html </p> <p style='text-align:justify;tab-stops:.5in'><b>I am unable use/initialize SSL connection, what do I do?<o:p></o:p></b></p> <p style='text-align:justify;tab-stops:.5in'><span style='mso-bidi-font-family: "Courier New"'>Some applications have their own version of Java included in it and they use the included Java, not the one you installed on the systems (such as the one from /opt/java). In such cases make sure that java security configuration files are not modified.</span></p> <p style='text-align:justify;tab-stops:.5in'><b>How can I find out cimclient.jar version?<o:p></o:p></b></p> <pre>You can run PackageVersion program to look at the version.</pre><pre><span style="mso-spacerun: yes"> </span>java org.snia.wbem.PackageVersion</pre><pre><span style="mso-spacerun: yes"> </span></pre> <p style='text-align:justify;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b>My GUI application doesn’t work properly on HP-UX?</b></p> <p style='text-align:justify;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>There is a bug in Java 1.4 HP-UX version (and 1.3) AWT libraries. For this you will need to install PHSS_24303 patch. I also found that Patch PHSS_24303 replaced by PHSS_26262. So we will need PHSS_26262.</p> <p class=MsoBodyText style='text-autospace:none'><span style='font-family:"Courier New"'>CIMInstance.getKeyValuePairs() returns no keys although there are multiple keys in my (exaple PG_OperatingSystem has 4 keys) provider.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>This bug is fixed in 2.0 Final Release.<span style="mso-spacerun: yes"> </span>You should not see this bug.<o:p></o:p></span></p> <p style='text-align:justify;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <h2 style='tab-stops:.5in'><span style='font-style:normal;mso-bidi-font-style: italic'>Appendix B: CIM Listener FAQ<o:p></o:p></span></h2> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'>Question 1: How to Create Subscriptions?</span></b><span style='font-family:"Courier New"'><o:p></o:p></span></p> <p><span style='font-size:10.0pt;font-family:"Courier New"'>Creating subscription is same as creating any CIM instance...you will use CIM Client interfaces to do so. Currently WBEM (core CIMServer) only supports CIM_IndicationSubscription, CIM_IndicationFilter, CIM_IndicationHandlerCIMXML and </span>IndicationHandlerSNMPMapper<span style='font-size:10.0pt;font-family:"Courier New"'> classes.<o:p></o:p></span></p> <p><b><span style='font-size:10.0pt;font-family:"Courier New"'>Question 2:<span style="mso-spacerun: yes"> </span>When a listener is created, does it execute in its own thread, separate from the code that created it</span></b><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Courier New"'>Listener runs as server (either SSL or non-SSL) and listens on the specified port. When Listener startCIMHTTPListener() is called, it will create a thread and starts listening.<br> <o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'>Question 3:</span></b><span style='font-family: "Courier New"'> <b>I am unable to modify instances of CIM_IndicationHandlerCIMXML class.<span style="mso-spacerun: yes"> </span>Client says - Unable to modify instance: CIM_ERR_NOT_FOUND(CIM_ERR_NOT_FOUND: The requested object could not be found: "CIM_IndicationHandlerCIMXML")<o:p></o:p></b></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>The modifyInstance operation is not supported for the<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>CIM_IndicationHandlerCIMXML class or CIM_IndicationFilter class, and for<span style="mso-spacerun: yes"> </span>CIM_IndicationSubscription, only modification of the SubscriptionState property<span style="mso-spacerun: yes"> </span>is supported.<span style="mso-spacerun: yes"> </span>So, it's necessary to delete the old instance and create a new instance with the desired change.<span style="mso-spacerun: yes"> </span>Also, deletion of a filter or handler that is referenced by an existing subscription is not allowed, without first<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>deleting the subscription.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>However, in the case you should see something like "CIM_ERR_NOT_SUPPORTED: The requested operation is not supported", rather than CIM_ERR_NOT_FOUND.<span style="mso-spacerun: yes"> </span>Make sure to check that your request specifies the<span style="mso-spacerun: yes"> </span>correct namespace, key values, etc.<span style="mso-spacerun: yes"> </span>It looks like perhaps the instancename parameter to the modifyInstance operation included only the classname and not the key values.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoBodyText2><b>Question 4: If I create instances of CIM_IndicationFilter, and corresponding instances of CIM_IndicationSubscription, and CIM_IndicationHandlerCIMXML classes, does the CIMOM check for the presence of the Indication provider? if 'RT_TestIndication'(sample indication provider) is not present, Will it give an error response?<o:p></o:p></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>When you create an enabled Subscription, the IndicationService will look for indication providers that can serve the subscription.<span style="mso-spacerun: yes"> </span>If none are found, you will get an error response.<span style="mso-spacerun: yes"> </span>The subscriber doesn't specify an indication provider. The subscriber specifies the desired indication subclass, properties and namespace in the Filter.<span style="mso-spacerun: yes"> </span>The IndicationService looks for indication providers that have registered to serve the specified indication class in the specified namespace.<span style="mso-spacerun: yes"> </span>Maybe your indication provider is not registered?<span style="mso-spacerun: yes"> </span>Let me know if you need help registering your indication provider.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoBodyText2><b>Question 5: If I create a disabled subscription (the property SubscriptionState is set to 'Disabled'), will the IndicationService still check for the presence of the indication provider?<o:p></o:p></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoBodyText><span style='font-weight:normal'>If you create the Subscription with SubscriptionState property set to 'Disabled', the IndicationService will NOT check whether there is an indication provider to serve the subscription.<span style="mso-spacerun: yes"> </span>So maybe that's what you want to do for now, to get going.<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'>Question 6:<span style="mso-spacerun: yes"> </span>Since the IndicationService knows which indication subclass is served by an indication provider, is it required that the instances of indication classes be created before the provider is registered?<o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoBodyText><span style='font-weight:normal'>The IndicationService checks that the class specified in the Filter is a subclass of CIM_Indication, so you must define the indication subclass you'll be using.<span style="mso-spacerun: yes"> </span>(Instances of the indication subclass don't get created until the indication provider generates an indication.)<o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></b></p> <p class=MsoNormal><b><span style='font-family:"Courier New"'>Question 7:<span style="mso-spacerun: yes"> </span>How a particular listener is associated with a given subscription and what goes into the Destination property CIM_ IndicationHandlerCIMXML<o:p></o:p></span></b></p> <p><span style='font-size:10.0pt;font-family:"Courier New"'>The listener is associated with the subscription through the destination property of the handler instance. Multiple subscriptions can refer to the same handler instance; so one listener can listen to multiple subscriptions.</span><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p> <p><span style='font-size:10.0pt;font-family:"Courier New"'>With subscription you will specify the destination where the Listener is running. An example,</span><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='font-size:10.0pt; font-family:"Courier New"'><PROPERTY NAME="Destination" TYPE="string"><o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='font-size:10.0pt; font-family:"Courier New"'><VALUE>https://mysystem.cup.hp.com:8189/cimom/Pegasus_RT_IndicationConsumer</VALUE><o:p></o:p></span></p> <p style='margin:0in;margin-bottom:.0001pt'><span style='font-size:10.0pt; font-family:"Courier New"'></PROPERTY></span><span style='font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p> <p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"'>In the above case, Listener would be running on mysystem.cup.hp.com at port 8189 with SSL enabled.</span><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <p><b><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"'>Question 8:<span style="mso-spacerun: yes"> </span></span></b><b><span style='font-size:10.0pt;font-family:"Courier New"'>Can I specify/use any port number with my Listener?<o:p></o:p></span></b></p> <p><span style='font-size:10.0pt;font-family:"Courier New"'>It is not a good plan to select any port and have the application use it.<span style="mso-spacerun: yes"> </span>It is recommended that a Listener application to have its own port number and is registered with IANA so that no one else uses that port number. And also if the application is going to be running on HP-UX, you can request INET Team to have the IANA registered port number added to /etc/services. This way no other HP-UX application uses your port numbers.<o:p></o:p></span></p> <p class=MsoNormal><b><span style='font-family:"Courier New"'>Question 9: when the client creates the indication listener, does it return an error if a listener already exists on that system on the same port? <o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Courier New"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Courier New"'>Yes it does say - Address is in use.<o:p></o:p></span></p> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span style='font-family:"Courier New"'>Question 10: Create Instance for CIM_IndicationSubscription fails; However, I can create Handler and Filter instances.<o:p></o:p></span></b></p> <p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New"'>There is a problem with Java Client API while creating instance with reference values related to indication subscription class. This is mainly because of Each time the ObjectPath gets passed to CIM Operations, Client API modifies the CIMObjectPath after it gets the response from cimserver. The work around is to store the CIMObjectPath that is passed to createInstance() while creating Filter and Handler instances. Then use that stored paths in Subscription.<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-family:"Courier New"'>Refer to the example (examples/Indication/SubscribeIndTest.java ) that is in WBEM Java Client SDK.<o:p></o:p></span></p> <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-style:normal;mso-bidi-font-style:italic'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></h2> <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-style:normal;mso-bidi-font-style:italic'>Appendix C: Example cim.properties configuration file<o:p></o:p></span></h2> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'> </p> <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>// <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>// Example cim.properties<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>//<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>DEBUG_XML=false <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>DEBUG_XMLDECODE=false<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>clientLogFilePath=cimclient.txt<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'> <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>// CIM Clients may specify their own Trust Manager to use <o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>// instead of the default JSSE TrustManager.<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; border:none;mso-border-alt:solid windowtext .5pt;padding:0in;mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt'><span style='font-family:"Courier New"'><span style="mso-spacerun: yes"> </span>TrustManager=org.mycompany.myapp.MyCertificateManager<o:p></o:p></span></p> </div> <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-family:"Courier New"'> <o:p></o:p></span></p> </div> </body> </html>
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |