SOAP and SNMP

Hi,
Im looking a Java tecnology for use it in a network enviroment. We need to configure some sun computers in a center (change ip, users, parameters, etc)
If is possible, we must use a SNMP protocol to do the comunication drom the server machine to sun clients. I know the JMX tecnologies and te Java Dynamic Management Kit, now i beleve that is the best solution, but is possible use SOAP server with SOAP client (each sun machine to configure) under SNMP protocol (not SOAP with HTTP message)?
I dont know what is the best solution for make a system based in a server/client to configure some sun computers in a network
sorry for my poor english, for spanish student is all more dificult

sandeep_khurana wrote:
georgemc wrote:
sandeep_khurana wrote:
Yes. I have used JMX in my application.To do what?In my application, JMX is used for exposing some details like version, health, etc. and this information can be accessed by the above mentioned protocols.
Now I need to have SOAP integration as well. So, there are doubts introduced?
Can you please help?So you've got some MBeans, and you want to expose them over as many different protocols as possible? No reason why you can't do that, if that's what you really want. Sounds like overkill, or a refusal to consider actual requirements, to be honest. The fact that JMX is at one end of the equation is pretty much irrelevant, it's all going to just be data as far as SOAP's concerned.

Similar Messages

  • Is in PI7.1 possible asynchronous communication between SOAP and ABAPProxy?

    Hi,
    when method execute_asynchronous has disapeared since XI/PI 7.1, is
    there still way how to use ABAP proxy in asynchronous way?
    We need to build asynchronous connection SOAP->PI->ABAP_Proxy.
    In PI, both interfaces are defined as asynchronous (outbound for SOAP and
    inbound for ABAP Proxy).
    Despite of this fact, when message is sent, it is processed
    synchronous way.
    I have set breakpoint in my implementation of method for ABAP Proxy
    message processing. When message is sent and breakpoint is reached,
    whole connection stays open (between SOAP and PI and between PI and
    ABAP Proxy) and waits for processing method (the breakpointed one) to
    return. Only when processing method returns, is connection finelly
    closed.
    If i understand it correctly, this is synchronous behavior. In
    asynchronous behavior, as i understand it, should be connection
    between PI and ABAP Proxy of application server closed immediately
    after message has been delivered. This mean before my processing
    method is even called.
    The same could be said about SOAP and PI communication. Connection
    should be closed immediately after PI has received message. From
    definition of asynchronous communication of PI is obvious, that PI
    should receive message correctly and close connection to sender system
    even when receiver is unreachable. It should deliver message later
    when, receiver system is back on line. So why it keeps connection to
    sender system open while it waits for receiver?
    Why is this happening, when both interfaces are defined as
    asynchronous? Could be the reason for this, if APPLICATION
    ACKNOWLEDGEMENT is set on by default? If so, how can i change it
    to SYSTEM ACKNOWLEDGEMENT, or disable it at all?
    Or is this kind of asynchronous communication even possible since
    XI/PI 7.1 ?
    Processing of message we are sending can take some time, so we dont
    want connection pending open while waiting for finish of
    processing. Thats the reason why we have chose asynchronous model to
    use.

    Quote from How to Use the J2EE SOAP Adapter:
    "If you select Best Effort, the Web service client will receive a response
    message in the SOAP body. Otherwise, the Web service client will not receive a
    response message if no error occurs."
    "if no error occurs" - that is the problem. In either case he still
    waits if some error occure or not. I dont want it. Once PI has
    received message, I want the connection with sender to be closed. If
    there will be error in communication between PI and reciever, I want
    to see it only in PI log. That mean no notification to sender to be
    send about that error.
    Is that possible?

  • Https for SOAP and HTTP Receiver adapters in PI 7.1

    Hi,
    We need HTTPS Transport protocol is required to send the message to receiver systems.
    Currently we are using below procedures for https:
    1)     HTTP with SSL (= HTTPS) without client authentication
    2)      HTTP with SSL (= HTTPS) with client authentication
    But client donu2019t want this procedure.
    Here my question is How to enable the https Transport protocol in SOAP and HTTP Receiver adapters.

    >>Here my question is How to enable the https Transport protocol in SOAP and HTTP Receiver adapters.
    What I see is your client wants PI to send communication via HTTPS transport protocol. That means you have to apply for trusted certificate and import that certificate root node in Netweaver keystore.
    Then change the transport protocol from http to https in soap and http receiver communication channel and communicate to client via certificate authentication.
    Plenty of documents available in sdn about https certificate authentication. Please go through those links.
    check this thread.. might be helpful
    Client Certificate for PI authentication when Web Dispatcher terminates SSL

  • File to SOAP and SOAP to File (Synchronous)

    Hi,
    Can anybody advice me how to do the File to SOAP and SOAP to File with Synchronous call.
    Thanks,
    Naidu.

    Hi,
    Use this blog
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1)
    and create an inbound synchronous interface for soap receiver structure. provide request and response structure in it.
    Thanks!

  • SCOM SP1 Groups, Classes and SNMP

    I've been working on a management pack using some of the examples on the net (Kristopher Bash from the operating-quadrantin has been a huge inspiration) to monitor an Isilon cluster.  This had lead me to a number of interesting challenges to over come since I have to design this within the confines of SP1 and I have a unique networking to device configuration. 
    Device Overview:
    The Isilon cluster itself is a number of FreeBSD systems (nodes) joined together via and infiniband backend to create a single NAS.  While normally this would not be an issue, network connectivity to the device and SNMP response from the cluster have been.  In my configuration I have a total of 8 nodes each node has 2 network interfaces.  Of these 16 network interfaces only 2 are accessible/on the same network as my RMS (em1 node2, em1 node4).
    Device SNMP Design:
    While the cluster is highly dynamic the SNMP sub-systems are not.  The MIB created by Isilon does not join the whole of the cluster into an index for SNMP polling.  I can only poll a single nodes OID's.  To over come this limitation Isilon implemented SNMP-Proxy or comtosec within the system.  This allowed me to poll node 3 by changing the community name for the OID I was polling from the discovered name to <discoveredname>_node_3.
    MP Design:
    Now I'm not the best at MP design since I rarely work within SCOM so don't laugh too hard...  I reused items from Kristopher's Cisco MP and created a number of classes for discovery and item hosting.  To address the limitation I found within SCOM for dynamic discovery and 1 IP address 1 Community Name, I created a class property within the root called ConfiguredNodes.  I can poll the Isilon an populate this value (8).  Then I created a sub-class property value called NodeCommStr to fill in all the custom community names I generate using a VB script with Base64 encode/decode, the discovery community name and the ConfiguredNodes value, in the data source for sub-class discovery. public_node_1 public_node_2 etc...
    All in all this is working well however I have run into a few design roadblocks and I have some questions.
    1.  When I discover a set of items within the Isilon cluster the health explorer is not sorting this information alphabetically.  Is there a value I can include in the dependency roll-up to correct this?
    2.  I have run into an issue with the Isilon MIB and I'm looking for the best way to overcome the MIB's design.  They included a fan table with fan information and speed of the fans however there is no status (success{0}, warning{1}, error{2}).  I created a monitor type to compensate for this and included overrides for the warning and critical event points.  This is where I found the curve ball, seems that the fans are not the same....  There are 2 sets of fans - Chassis and Power Supply - and they have different thresholds *rolls eyes*.  Some I'm asking for the best design advice, should I create 2 classes, discoveries, monitor types, etc.?  Or can I address this issue by creating 2 monitor types with a string filter?
    3.  I've been successful in creating this MP and displaying the information as a single device however I was wondering if there was a way to create dynamic groups with sub groups.  This would have to be 100% dynamic since I can add a 9th 10th 192nd (yes 192) node to the cluster.
    Cluster
    -ClusterNode1
    -ClusterNode1Power
    -ClusterNode1Fans
    -etc
    The information is there in the NodeCommStr, I'm just in brain lock on how to design it right now.
    Again, code is raw and a work in progress so please no giggling.  Oh this is a multi post...  Code is too long.
    <Manifest>
    <Identity>
    <ID>IsilonSNMP</ID>
    <Version>1.0.1.2</Version>
    </Identity>
    <Name>IsilonSNMP</Name>
    <References>
    <Reference Alias="MicrosoftSystemCenterNetworkDeviceLibrary">
    <ID>Microsoft.SystemCenter.NetworkDevice.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Snmp">
    <ID>System.Snmp.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemHardwareLibrary">
    <ID>System.Hardware.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Windows">
    <ID>Microsoft.Windows.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemPerformanceLibrary">
    <ID>System.Performance.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="System">
    <ID>System.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SC">
    <ID>Microsoft.SystemCenter.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Health">
    <ID>System.Health.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    </References>
    </Manifest>
    <TypeDefinitions>
    <EntityTypes>
    <ClassTypes>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
    <Property ID="Hostname" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.Nodes" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Chassis" Hosted="true" Singleton="false">
    <Property ID="Name" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.PhysicalDisk" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="BayIndex" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Fan" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="FanNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Group.IsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
    </ClassTypes>
    <RelationshipTypes>
    <RelationshipType ID="IsilonSNMP.Relationship.ClusterHostsNodes" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.Nodes</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Containment">
    <Source>IsilonSNMP.Group.IsilonClusters</Source>
    <Target>IsilonSNMP.Class.IsilonCluster</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalDisk</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalFan</Target>
    </RelationshipType>
    </RelationshipTypes>
    </EntityTypes>
    <ModuleTypes>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.BasicSNMPProbe" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="SNMPProbe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IPAddress$</IP>
    <CommunityString>$Config/CommStr$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>$Config/OID$</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="ValueFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String" />
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="ValueFilter">
    <Node ID="SNMPProbe">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>Snmp!System.SnmpData</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverContainmentClasses" Accessibility="Internal" Batching="false">
    <Configuration>
    <IncludeSchemaTypes>
    <SchemaType>System!System.ParamListSchema</SchemaType>
    <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ClassID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="InstanceSettings" type="SettingsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>60</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.ClassSnapshotDataMapper">
    <ClassId>$Config/ClassID$</ClassId>
    <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverCluster" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="SystemOID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval Unit="Seconds">$Config/Interval$</Interval>
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="Probe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IP$</IP>
    <CommunityString>$Config/CommunityString$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.5.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.6.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.2.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    <ClassId>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</ClassId>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Data/Source$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Name$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemDescription$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemContact$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemLocation$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/Hostname$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </ConditionDetection>
    <ConditionDetection ID="SystemOIDFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Value>$Config/SystemOID$</Value>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Probe">
    <Node ID="SystemOIDFilter">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalDisk" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="BayIndex" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonDisk.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalDisk
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalDisks
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalDisks
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalDisks
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalDisk = objWmiServices.InstancesOf("SNMP_ISILON_MIB_diskTable", , objWMINamedValueset)
    For each objItem in colPhysicalDisk
    nIndex = objItem.diskBay
    sDesc = objItem.diskSerialNumber
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/BayIndex$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>

    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalFan" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanNumber" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonPhysicalFan.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalFan
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalFan
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalFan
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalFan
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalFan = objWmiServices.InstancesOf("SNMP_ISILON_MIB_FanTable", , objWMINamedValueset)
    For each objItem in colPhysicalFan
    nIndex = objItem.fanNumber
    sDesc = objItem.fanDescription
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/FanNumber$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - " & HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalDiskStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalDiskOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalDiskNotOK" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalDiskOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalDiskNotOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>DoesNotContainSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalDiskOK">
    <Node ID="CDPhysicalDiskOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalDiskNotOK">
    <Node ID="CDPhysicalDiskNotOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalFanStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalFanOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanWarn" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanCritical" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalFanOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Less</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanWarn" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanCritical" TypeID="System!System.ExpressionFilter">
    <Expression>
    <Or>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>GreaterEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </Or>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalFanOK">
    <Node ID="CDPhysicalFanOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanWarn">
    <Node ID="CDPhysicalFanWarn">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanCritical">
    <Node ID="CDPhysicalFanCritical">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    </MonitorTypes>
    </TypeDefinitions>
    <Monitoring>
    <Discoveries>
    <Discovery ID="IsilonSNMP.Discovery.Cluster" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.Nodes" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.ClusterHostsNodes" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverContainmentClasses">
    <IPAddress>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <ClassID>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]$</ClassID>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>Cluster</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]/Name$</Name>
    <Value>Cluster</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonCluster" Enabled="true" Target="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverCluster">
    <Interval>600</Interval>
    <IP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IP>
    <CommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
    <SystemOID>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</SystemOID>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonClustersGroup" Enabled="true" Target="IsilonSNMP.Group.IsilonClusters" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" />
    </DiscoveryTypes>
    <DataSource ID="GP1" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
    <RuleId>$MPElement$</RuleId>
    <GroupInstanceId>$MPElement[Name="IsilonSNMP.Group.IsilonClusters"]$</GroupInstanceId>
    <MembershipRules>
    <MembershipRule>
    <MonitoringClass>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</MonitoringClass>
    <RelationshipClass>$MPElement[Name="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters"]$</RelationshipClass>
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Property>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Property>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>.</Pattern>
    </RegExExpression>
    </Expression>
    </MembershipRule>
    </MembershipRules>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalDisk" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>7800</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <BayIndex>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</BayIndex>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalFan" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>8000</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <FanNumber>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</FanNumber>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </DataSource>
    </Discovery>
    </Discoveries>
    <Monitors>
    <UnitMonitor ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" Accessibility="Public" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Snmp!System.SnmpTrapProvider.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
    <Category>Custom</Category>
    <AlertSettings AlertMessage="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9" MonitorTypeStateID="SecondEventRaised" HealthState="Success" />
    <OperationalState ID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9" MonitorTypeStateID="FirstEventRaised" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <FirstIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</FirstIP>
    <FirstCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</FirstCommunityString>
    <FirstAllTraps>false</FirstAllTraps>
    <FirstVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</FirstVersion>
    <FirstOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </FirstOIDProps>
    <FirstExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Equal</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </FirstExpression>
    <SecondIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</SecondIP>
    <SecondCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</SecondCommunityString>
    <SecondAllTraps>false</SecondAllTraps>
    <SecondVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</SecondVersion>
    <SecondOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </SecondOIDProps>
    <SecondExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </SecondExpression>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalDiskStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalDiskStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK" MonitorTypeStateID="PhysicalDiskOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK" MonitorTypeStateID="PhysicalDiskNotOK" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.52.1.5.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalFanStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalFan" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalFanStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK" MonitorTypeStateID="PhysicalFanOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn" MonitorTypeStateID="PhysicalFanWarn" HealthState="Warning" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical" MonitorTypeStateID="PhysicalFanCritical" HealthState="Error" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.53.1.4.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </Configuration>
    </UnitMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" MemberMonitor="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalFan" MemberMonitor="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.ClusterHostsNodes" MemberMonitor="Health!System.Health.AvailabilityState">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    </Monitors>
    </Monitoring>
    <Presentation>
    <StringResources>
    <StringResource ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID" />
    <StringResource ID="AlertMessageIDb1a3848769824949889fcc4c159cf462" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID" />
    </StringResources>
    </Presentation>
    <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
    <DisplayStrings>
    <DisplayString ElementID="IsilonSNMP">
    <Name>Isilon SNMP MP</Name>
    <Description>Management pack to discover a Isilon cluster running OneFS 5.5</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster">
    <Name>Isilon Cluster</Name>
    <Description>Isilon SNMP Device</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="Hostname">
    <Name>Hostname</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="ConfiguredNodes">
    <Name>ConfiguredNodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes" SubElementID="Name">
    <Name>Name</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    <Description>Containment class for the Isilon cluster with components such as hard disks, fans, power supplies, etc.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.ClusterHostsNodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonCluster">
    <Name>Discover Isilon Cluster</Name>
    <Description>Discovery of the Isilon Cluster using OID strings from RFC1213.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Name>Isilon Basic Probe Data Source</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverCluster">
    <Name>Discover Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters">
    <Name>Isilon Devices Group Contains Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.Cluster">
    <Name>Discover Isilon Cluster Containment Class</Name>
    <Description>Discovers the Cluster containment class, which hosts managed objects such as fans</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonClustersGroup">
    <Name>Isilon Deivce Group Populator</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70">
    <Name>PlaceHolder</Name>
    <Description>Place Holder to detect isilon cluster</Description>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9">
    <Name>Second Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9">
    <Name>First Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <Name>PlaceHolder</Name>
    <Description>placeholder alert to detect isilon</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Name>Isilon PhysicalDisk Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalDisk status is not ok.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalDisk Status</Name>
    <Description>The Disk ({0}) is in a warning or error state. The Disk state is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk">
    <Name>Isilon Disk</Name>
    <Description>Disk</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk">
    <Name>Isilon Cluster Hosts PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalDisk">
    <Name>Discover Isilon Cluster Physical Disks</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <Name>Discover Isilon Cluster PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency">
    <Name>Isilon Disk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Name>Isilon PhysicalFan Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalFan speed is not within a premited range.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK">
    <Name>PhysicalFanOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn">
    <Name>PhysicalFanWarn</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical">
    <Name>PhysicalFanCritical</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalFan Status</Name>
    <Description>The Fan ({0}) is in a warning or error state. Current Fan speed is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan">
    <Name>Isilon Fan</Name>
    <Description>Fan</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalFan">
    <Name>Isilon Cluster Hosts PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalFan">
    <Name>Discover Isilon Cluster Physical Fans</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <Name>Discover Isilon Cluster PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency">
    <Name>Isilon Fan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency">
    <Name>Cluster</Name>
    </DisplayString>
    </DisplayStrings>
    </LanguagePack>
    </LanguagePacks>

  • RFC- XI -SOAP and response back to RFC

    Hi,
    I am doing RFC-XI-SOAP and get response back from SOAP to RFC.
    if I am not check the "Do Not Use SOAP Envelop" then it gives error in SXMB_MONI says  - NO SOAP envelop.
    "No SOAP Envelope but 1 {}RESPONSES; HTTP 200 OK"
    if I check thet  check bos ""Do Not Use SOAP Envelop" then it gives no error in SXMB_MONI , but message is not giving response back from webservice in SXMB_MONI it shows only
    <?xml version="1.0" encoding="UTF-8" ?>
      <ns1:MYRFC.Response xmlns:ns1="urn:sap-com:document:sap:rfc:functions" />
    gurus ...Pl. reply asap

    hi, all
    you are right the XML sp/tcpgateway response structure is different than what I used earlier,
    now I build the same structure,but then also some problem occures it is giving only one element from structure in response.
    it is giving
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:MYRFC.Response xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
      <STATUS>Success</STATUS>
      </ns1:MYRFC.Response>
    while actual inbound from WS is ...
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message   -->
    - <ns0:testrequestResponse xmlns:ns0="conversion" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" Status="Success" DbgCmd_="testrequest" DbgTag_="REQUEST">
    - <ns0:SAP_OUTPUT>
      <ns0:E1 Value="3000194" />
      <ns0:E2 Value="300"/>
      <ns0:E3  Value="3"/>
      </ns0:E4 Value="94">
      </ns0:testrequestResponse>

  • Could someone help me to clearly distinguish between SOAP and HTTP adapter?

    In which scenarios we can go for HTTP adapter and when to go for SOAP adapter?

    Hi Lekshmi !!
    A SOAP message will be bundled inside the soap envelope.HTTP is not an adapter in adapter engine whereas soap is an adapter i.e, HTTP doesn't require a communication channel where as SOAP requires.You can send soap messages using some SOAP client.
    SOAP Adapter is used to xchange SOAP messages bw remote clients and webservices....
    check this link for more differences..
    SOAP and HTTP adapter
    When you need to Send Data to XI from a Webservice , your SOAP adapter is used.
    HTTP adapter is used when you want to post a HTTP request message from a web application to XI.
    How can i make use of SOAP Sender Adapter without using any tools like XML Spy etc....
    XML SPy is used as a TEST tool when you are sending SOAP information to XI. TO actually send data , you need to configure a webservice and construct a SOAP request message and post the data .
    we use SOAP adapter when we need to connect to remote system or use Webservices in these cases we use SOAP adapter.
    HTTP Adapter is used by extenal systems to connect to Intergartin server using native HTTP Interface.
    the http adapter is a service which is directly connected to integration engine. Adapter Framework (Java) isnt involved. It is much more performant than SOAP adapter.
    The SOAP adapter is written in Java and is responsible for the SOAP envelope around the real XML message. You can build/remove that envelope as well in the mapping and use instead http adapter. But standard for webservices is using SOAP adapter.
    Check this thread....
    Difference between SOAP and Http Sender
    HTTP Adatpter Vs Soap Adapter
    HTPP Adatpter Vs Soap Adapter ????
    Difference between SOAP and Http Sender
    Difference between SOAP and Http Sender
    Plain HTTP Adapter vs SOAP Adapter with regards to SSL
    Plain HTTP Adapter vs SOAP Adapter with regards to SSL
    Hope it clears your doubt !!!!
    Questions are welcome here!!
    <b>Also mark helpful answers by rewarding points </b>
    Thanks,
    Abhishek Agrahari

  • SOAP and ConsoleOne synch problem

    I've been making some simple params modifications on a user and I found that fields have different values for the soap invocations and in a ConsoleOne view:
    I've change persistence field in Junk properties group for a user but there was no difference in ConsoleOne. I've rerun program which uses soap and I can see new values. ConsoleOne don't see new values even after turning it off and start one more. If I change value in ConsoleOne I don't see any changes in my application.
    Any idea what it or I do wrong?

    You need to use the Admin API to effect values stored
    in ConsoleOne.
    >>> On Wednesday, February 24, 2010 at 2:46 AM, testowy
    email<[email protected]> wrote:
    > I've been making some simple params modifications on a user and I found
    > that fields have different values for the soap invocations and in a
    > ConsoleOne view:
    > I've change persistence field in Junk properties group for a user but
    > there was no difference in ConsoleOne. I've rerun program which uses
    > soap and I can see new values. ConsoleOne don't see new values even
    > after turning it off and start one more. If I change value in ConsoleOne
    > I don't see any changes in my application.
    >
    > Any idea what it or I do wrong?

  • SOAP and Webservice

    Hi all,
    i am new to java..!! so can someone pls help me..its urgent?
    i want to create a agent which will read the content sent through SOAP and create an XML file and send it through web service. Can anyone help me in this regard..?
    P.S :- sorry if i am repeating this question as many of them wud have already asked this..i was not able to find anythin to match my requirement.
    thanks
    bala

    i was not able
    to find anythin to match my requirement.What you're asking is so common that I find it difficult to believe your search would come up empty. A quick google search of "java web services" returns more information than you will ever need. First link that pops up:
    java.sun.com/webservices/
    Good luck.

  • SOAP and clustering

    A management question that I have to pose:
    - is there any reason to believe SOAP and webservices should not work in
    cluster-mode?
    Eventually; have anyone tried SOAP in cluster mode and got it working?
    Thanks in advance!
    - Henning

    My understanding is that if you do some sort of non-persistent "session" on
    top of SOAP, then it can break across a cluster because SOAP doesn't take
    advantage of HttpSession and thus requests could end up on any machine in
    the cluster. That's the only issue that I am aware of.
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/download.jsp >>
    "Henning Storhaug" <[email protected]> wrote in message
    news:[email protected]..
    A management question that I have to pose:
    - is there any reason to believe SOAP and webservices should not work in
    cluster-mode?
    Eventually; have anyone tried SOAP in cluster mode and got it working?
    Thanks in advance!
    - Henning

  • SOAP and MiniShall

    How do I check to see if we are using SOAP and how do I check to see if Mini Shall is on or off?

    Originally Posted by jmarton
    On Wed, 23 Sep 2009 17:26:01 +0000, redcoat wrote:
    > How do I check to see if we are using SOAP
    Telnet to the server on port 7191, see if it connects.
    > and how do I check to see if
    > Mini Shall is on or off?
    set tcp minshall algorithm
    Joe Marton
    Novell Knowledge Partner
    SUSE Linux Enterprise 11 is ready for action.
    the telnet didnt work

  • SOAP and JWS - Help!!

    Hi everyone!!
    I am trying to integrate SOAP and JWS. ie the application being downloaded is a SOAP messaging application. while compiling i have SAAJ api in my classpath. while executing it, i need to have it too in my classpath. before executing the application, if i dont set the classpath, the application doesnt execute. when i do, it works. its ok when i execute the application in the command prompt bcoz i can set classpath again. but issue arises when i run this example using jws. can anybody resolve this issue?
    regards,
    Manyadeveloper

    Hi I've been dealing with this problem for a little while.
    I've got an APP that is dependant on SOAP.JAR. My appp doesn't need to be signed, but SOAP.JAR does.
    Why does it need to be signed?
    I only want to download information from the server where I started my program from. When I leave SOAP.JAR unsigned it tells me I need to input the proxy address and port.
    Any ideas?
    Thanks Martin

  • SOAP AND HTTP adptors

    Hi All,
    Difference b/w SOAP AND HTTP ADAPTORS.
    WAITING FOR REPLIES.
    SANKAR

    Hello
    Please check the Rules of Engagement, https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement, before posting on the forum.
    Please search the forum before posting questions like this. It has already been answered several times in the forum. Also you will find the answer by searching help.sap.com.
    I am closing this thread.
    Regards
    Mark Smyth
    XI/PI Moderator

  • SOAP and XML

    How can I setup SOAP and web services to POST and GET XML file from the third party application?
    What document can I read? Thanks!

    If you are an Oracle9i JDeveloper user, you might want to try the Oracle9i JDeveloper guide which gives you a simple helloworld sample to get you going. This uses the SOAP environment that is automatically configured by default on OC4J. See:
    http://otn.oracle.com/sample_code/products/jdev/files/JDevRGuide.zip
    The Web service demo shows how an EJB can be published on OC4J as a Web service - basically by configuring a SOAP-aware servlet that front-ends your Java/PL/SQL component.
    For a more complete example check out the sample one that just came out the other day covering stateless and stateful Java classes, an EJB and a PL/SQL stored procedure:
    http://otn.oracle.com/sample_code/tech/java/web_services/
    For a set of examples of Web services that ship with OC4J, download OC4J and look in the directory:
    <OC4J_Home>\j2ee\home\demo\web_services\
    and take a read of the readme.txt. The area of OTN describing the OC4J Web services content is at:
    http://otn.oracle.com/tech/webservices/
    If you are looking for the Apache SOAP environment that ships with Oracle9iAS, simply look for the soap.ear file that is on the distribution. Normally this is located in <OC4J_Home>/soap/webapps/ but it might be easier to search the OC4J directory structure because its location changed between the 1.0.2.2 release and Release 2 now available here as noted above.
    Hope this gives a start.
    Mike.

  • SOAP and XML-RPC

    Which are Oracle's plans for supporting SOAP and XML-RPC?

    Oracle iAS 9i release 1.0.2.2 contains SOAP server support for Java programmers.
    Oracle iAS 9i release 2.0 will feature more support, as will an upcoming version of JDeveloper to simplify the development and use of Web Services.

Maybe you are looking for

  • Wong calculation of Withholding Tax on vendor INvoice

    Dear Cheetaz, In Pakistan rate of withholding tax on freight is 2% and same has been updated in vendor master record. As i am going to make payment to vendor through t ocde F-48 , system is calculating tax @ 1.98% instead of 2% kindly advice where sh

  • [SOLVED]can not get steam to work.

    Hi! It seems like my steam install from the official repo will not start at all. plus, it nearly says nothing at all [the-doctor@Tardis steam-runtime]$ steam shell-init: error retrieving current directory: getcwd: cannot access parent directories: No

  • ICal Time zone issues - Arizona

    I am having trouble with the timing of events between iCal and iCloud, which I think is due to Arizona's non-timechanging policy. I have events on my Mac's iCal, which I sync to iCloud. But, the times in iCloud (and hence, on my iPhone) are shifted b

  • Updated to 3.1 and CPU maxed out causing click and pops

    I upgraded to Mainstage 3.1 and now the CPU meter is maxed out when I change presets and also MainStage runs at 100 % causing clicks and breaks in the sound when using a vst plugin S-Gear by Scuffham.  Earlier versions work fin at 20% to 50% CPU.  I

  • I bought a used iMac and I want to format and re-install the operating system however it didn't come w/operating system software.

    I bought an iMac from a client and I'm concerned that the software that is on the system is not secure. I would like to remove everything and start with factory default programs and settings. The system is about 3-4 years old and there are no origina