public void getDERGroup() { CIMGetDERGroup.GetDERGroup_PortClient client = new CIMGetDERGroup.GetDERGroup_PortClient("GetDERGroupImplPort"); CIMGetDERGroup.HeaderType cimheader = new CIMGetDERGroup.HeaderType(); CIMGetDERGroup.GetDERGroupRequestType req = new CIMGetDERGroup.GetDERGroupRequestType(); CIMGetDERGroup.DERGroupPayloadType payload = new CIMGetDERGroup.DERGroupPayloadType(); req.ID = new string[1]; req.ID[0] = "DER1"; // CIMGetDERGroup.ReplyType reply = client.GetDERGroup(ref cimheader, req, ref payload); }
/// <summary> /// SOAP call to get the list of DERs within a DERGroup /// </summary> /// <param name="name">name of DERGroup</param> /// <returns>array of strings of DER member names</returns> public String[] requestDERGroupMembers(String mrid) { try { // initialize SOAP call CIMGetDERGroup.GetDERGroup_PortClient client; CIMData.header header = _data.GetDERHeader; if (!hasData(header.EndPoint)) { throw new DERConfigureException("End Point required"); } client = new CIMGetDERGroup.GetDERGroup_PortClient("GetDERGroupImplPort", header.EndPoint); // initialize SOAP vars CIMGetDERGroup.GetDERGroupRequestMessageType req = new CIMGetDERGroup.GetDERGroupRequestMessageType(); CIMGetDERGroup.DERGroupPayloadType payload = new CIMGetDERGroup.DERGroupPayloadType(); req.Payload = payload; req.Request = new CIMGetDERGroup.GetDERGroupRequestType(); req.Request.StartTime = System.DateTime.Now; CIMGetDERGroup.HeaderType to = new CIMGetDERGroup.HeaderType(); req.Header = to; // build header CIMGetDERGroup.HeaderTypeVerb v = new CIMGetDERGroup.HeaderTypeVerb(); if (Enum.TryParse(header.Verb, out v)) { to.Verb = v; } to.Verb = CIMGetDERGroup.HeaderTypeVerb.get; to.Noun = header.Noun; to.ReplyAddress = header.ReplyAddress; to.Revision = header.Revision; to.Source = header.Source; to.AckRequired = header.AckRequired; if (to.AckRequired == true) { to.AckRequiredSpecified = true; } to.Comment = header.Comment; to.Context = header.Context; if (hasData(header.UserOrganization) || hasData(header.UserID)) { to.User = new CIMGetDERGroup.UserType(); to.User.UserID = (hasData(header.UserID)) ? header.UserID : "epri"; // required to.User.Organization = header.UserOrganization; // optional } // load the SOAP payload payload.DERGroups = new CIMGetDERGroup.EndDeviceGroup[1]; payload.DERGroups[0] = new CIMGetDERGroup.EndDeviceGroup(); payload.DERGroups[0].mRID = mrid; payload.DERGroups[0].Version = new CIMGetDERGroup.EndDeviceGroupVersion(); payload.DERGroups[0].Version.major = _data.Version.Major; payload.DERGroups[0].Version.minor = _data.Version.Minor; payload.DERGroups[0].Version.revision = _data.Version.Revision; payload.DERGroups[0].Version.versionDate = _data.Version.Date; //' log out message, make call, log return message _lastMessageSent = logMessage <CIMGetDERGroup.GetDERGroupRequestMessageType>(req); CIMGetDERGroup.DERGroupResponseMessageType reply = client.GetDERGroup(req); _lastMessageReceived = logMessage <CIMGetDERGroup.DERGroupResponseMessageType>(reply); if (reply.Payload.DERGroups != null && reply.Payload.DERGroups.Length > 0) { List <String> ders = new List <string>(); foreach (CIMGetDERGroup.EndDeviceGroup dev in reply.Payload.DERGroups) { ders.Add(dev.name); } return(ders.ToArray()); } } catch (Exception e) { Console.WriteLine("Exception : " + e.ToString()); } return(null); }