Error upon Assignment creation in Project Activity

When I add an Assignment in an Activity within a Project and attempt to save, I get a "Cannot get IIS pickup directory" error: -<SOAP-ENV:Envelope> -<SOAP-ENV:Body> -<SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Cannot get IIS pickup directory.</faultstring> -<detail> <af:legacy_detail>Cannot get IIS pickup directory.</af:legacy_detail> <af:exception message =" Cannot get IIS pickup directory. " type=" Aras.Server.Core.InnovatorServerException " /> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> I haven't been able to figure out where this error is coming from or why it's occurring. On a side note, when I try to add a User that doesn't have an email attached to it, I get an error: -<SOAP-ENV:Envelope> -<SOAP-ENV:Body> -<SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Email address for to_identity not found or invalid</faultstring> -<detail> <af:legacy_detail>Email address for to_identity not found or invalid</af:legacy_detail> <af:exception message =" Email address for to_identity not found or invalid " type ="Aras.Server.Core.InnovatorServerException " /> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Note that I don't have any email messages setup for Projects, so I can't figure out why it won't let me add a user without an email. I'm not sure whether these two errors are related, but does anyone have an idea as to why there is an issue? Am I missing some configuration step somewhere? Thanks,
  • Hello, After a bit more research, it looks as though the first issue is directly related to the second issue as all mentions of this error in the forum have to do with setting up an email server to send emails when there is a change. However, I don't want an email to be sent. So I guess the question now turns into why is Aras trying to send emails (I haven't asked it to do so) and how can I stop it from doing that? Thanks,
  • Second Update: Going through the "Activity2" Lifecycle, I've found a server post method called "sendEmailToA2Assignment" that was placed on the Transition from the "Pending" to "Active" states. When this method was cleared from the lifecycle, the problem still persists. The search continues...  
  • Hi u2berggeist, The Project ItemType has an OnBeforeUpdate server event (Project_saveProjectTree) that calls another method - processProjectTree. The processProjectTree method has logic that sends an email when an assignee is added/changed on an activity. There are two options here if you do not want to send emails to the users.
    1. Comment out the following passage in the processProjectTree method. '+++++ Send Emails Dim mailInDom As XmlDocument = New XmlDocument() Dim activeAssignment As XmlElement Dim activity As XmlElement Dim elem As XmlElement Dim flagNm As String = "use_identities_from_xml_only" Dim act_asnees_dict As New Hashtable 'key is activity&assignee (indicates that assignee is emailed about the activity) Dim k As String For i = 0 To activities4email.Count - 1 activity = CType(activities4email.Item(i), XmlElement) mailInDom.LoadXml(activity.OuterXml) elem = CType(mailInDom.SelectSingleNode("Item/Relationships"), XmlElement) If Not elem Is Nothing Then elem.ParentNode.RemoveChild(elem) mailInDom.DocumentElement.SetAttribute(flagNm, "1") k = String.Format(CultureInfo.InvariantCulture, "{0};{1}", activity.GetAttribute("id"), CCO.XML.GetItemProperty(activity, "managed_by_id")) act_asnees_dict.Add(k, "") CCO.ApplyItem.ExecuteMethodByName(mailInDom, outDom, "sendEmailToA2Assignee", True) If (CCO.XML.HasFault(outDom, False)) Then Exit Sub End If NextFor i = 0 To asmnts4email.Count - 1 activeAssignment = CType(asmnts4email.Item(i), XmlElement) activity = CType(activeAssignment.ParentNode.ParentNode, XmlElement) elem = CType(activeAssignment.SelectSingleNode("related_id/Item"), XmlElement) If elem Is Nothing Then k = activeAssignment.SelectSingleNode("related_id").InnerText Else k = elem.GetAttribute("id") End If k = String.Format("{0};{1}", activity.GetAttribute("id"), k) If Not act_asnees_dict.Contains(k) Then mailInDom.LoadXml(activity.OuterXml) For Each elem In mailInDom.SelectNodes(String.Format("Item/Relationships/Item[@id!='{0}']", activeAssignment.GetAttribute("id"))) elem.ParentNode.RemoveChild(elem) Next elem mailInDom.DocumentElement.SetAttribute(flagNm, "1") CCO.ApplyItem.ExecuteMethodByName(mailInDom, outDom, "sendEmailToA2Assignee", True) If (CCO.XML.HasFault(outDom, False)) Then Exit Sub End If act_asnees_dict.Add(k, "") End If Next '----- Send Emails This should prevent the emails from being sent, but I have not tested this workaround to confirm. Be sure to thoroughly test to ensure that the behavior when assigning activities does not change.
    2. Enable email debugging for your instance. When email debugging is enabled for an Aras Innovator instance, any emails will be written to files on the server rather than sent via SMTP. This works for a dev/test environment, but I wouldn't recommend it for production. If activities are frequently assigned/reassigned, you could end up with a lot of files piling up on the server.
    Eli
    Eli Donahue Aras Labs Software Engineer