I run into the following exception when trying to access the customer support section in the Hybris backoffice (https://localhost:9002/backoffice), after login:
de.hybris.platform.solrfacetsearch.search.FacetSearchException: No bean named 'myBean' is defined
... Caused by:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myBean' is defined
This bean does not appear anywhere in my project. One of my coworkers suggested it could be referenced in one of the Solr specific database tables, but was unable to provide further explanation.
The administration section of the BO works fine, this error is specific to the customer support section.
I tried a system update on Solr-related extensions (solrfacetsearchbackoffice, solrserver, solrfacetsearch, solrfacetsearchhmc), ran a full SOLR indexation, and cleared the cache, but it didn't help.
Could I get some clarification on how the solr indexing works on the database level, and what the possible causes of this error could be?
(Hybris version: 6.4.0.0)
All right, I managed to figure it out. There were two distinct problems:
"No bean named 'myBean' is defined": the bean was a provider which was referenced to by indexed types. By going in HMC > System > Facet search > Indexed types, I found a property which had the same name as the bean and deleted it. This allowed me to redo a full indexation and the error disappeared from the logs. However, this did not resolve the second issue, which is as follows...
Customer support not appearing: this was an issue related to the groups associated to the logged in user (admin in my case). By adding the right group to the user (under HMC > User > Employees) I made the customer support section work again.
Hope this helps someone in the future!
Related
The code below shows that I am trying to get the "encodedpassword" attribute value from the User type's JsonAuditRecord using the ReadAuditGateway.
JsonAuditRecord userJsonRecord = getUserJsonAuditRecords_withReadAuditGateway(query);
String encodedPassword = userJsonRecord.getAttributeAfterOperation("encodedpassword");
System.out.println(encodedPassword); //Hybris1808 would print the actual encoded password
System.out.println(encodedPassword); //CX2011 prints **** instead
After upgrading to CX2011, I found out that the User type's encodedPassword is audit blacklisted. Also, any blacklisted attributes would have their value obscured e.g. ****. I understand the rational behind that (possibly a security enhancement). However, to allow our custom code (that requires the un-obscured value of the encodedPassword) to continue working, I have tried to remove it from the audit blacklist by making sure that the two properties below are not set with any value in my local.properties
audit.user.blacklistedProperties=
audit.userpasswordchangeaudit.blacklistedProperties=
However, after performing "ant all" and restarted my local Hybris server, the encodedPassword is still obscured..
May I ask other than changing those properties above, are there other steps that need to be done? e.g. overriding some OOTB methods.
Also, I have tried to read the Audit Report section in the SAP Commerce Documentation, I do not see the audit blacklisting part is being documented. I would appreciate if someone could also provide any links that relates to this topic.
audit.user.blacklistedProperties=encodedpassword
audit.userpasswordchangeaudit.blacklistedProperties=encodedpassword
Those two properties above are already defined in one of the project.properties files as shown above (where 'encodedpassword' is blacklisted). Thus, if we were to leave those 2 blank in the local.properties file, Hybris will treat it as NULL and it will ignore/skip it. In other words, it won't do anything by declaring empty properties.
To rectify that, the easiest way is to assign some other fields as the blacklisted properties in the local.properties file.
e.g.
audit.user.blacklistedProperties=fooAttribute
audit.userpasswordchangeaudit.blacklistedProperties=fooAttribute
Since the current JHipster doesn't support an embedded object in an entity, I have to change the front end code as well as the back end after running "yo jhipster:entity myEntity". After changing related new created Javascript files, I get an error
Error: Could not resolve 'myNewEntity' from state 'site'
when I click the entity menu item under the "Entities". Due to this error, I can't do any manual tests on my project.
I only can find one entry with the error. My situation isn't in the product mode though.
How to solve this error?
It depends on what you modified to the angular-ui router states that have been generated by jhipster:entity.
You should have a look at myEntity.js, it should define 4 states.
Then compare these names with the ui-sref of entities menu in navbar.html.
Another possibility is that you forgot to add or change the js scripts in index*;html and so your states are not defined.
I've workflow application using 8 xpages. It was working fine upto this moment and all of sudden when saving new document for any xpage, it started giving the following error:
Unexpected runtime error
The runtime has encountered an unexpected error.
Error source
Page Name:/XpNew.xsp
Exception
Error saving data source document1
Could not save the document 44F2A NotesException: Notes error: You cannot update or delete the document(s) since you are not listed as an allowable Author for this document
Even though I've manager access to the database. It is also weird that it started giving error on test and production server. I also ran compact with -c and still the same issue.
Ran Fixup and still same issue.
In this situation, since it appears to be a core Notes exception and not anything at the XSP layer, I'd look into ACLs first. Are you manager by way of being in a group? And if so, has that group changed in any way recently, or is it specified in a secondary Directory referenced via Directory Assistance? I've had situations where the HTTP task just sort of "forgets" group membership from a secondary Directory until I restart it.
Another potential source of trouble could be the "Maximum Internet name and password" field on the database's ACL's Advanced tab - if that's set to Author, it will override whatever your real access is.
As a troubleshooting step, I'd make an XPage with this in a computed text item:
database.queryAccess(session.getEffectiveUserName());
That should return your numeric access level. Additionally, to check on the first paragraph's theory, you could add a Form or Page with a computed value of:
#UserNamesList
That will give you a list of all effective names, groups, and roles for the current user in the current database.
There was a Authors field on Notes form with value #Username which was returning value in hierarchical form as First Name/Company.
Changed the formula to #Name([Canonicalize];#UserName) and Maximum access Level thru web kept default editor. This resolve the issue. Now it is saving documents without any issue.
Thanks everybody for help
I am having the same problem as this post: social.msdn.com.
I am aware that they have an answer but I can't seem to understand what they mean.
So I have set up a managed property and then added it to my refinement panel using this code:
<Category Title="Loan Category" Description="Use this filter to restrict results by Loan Category" Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator" MetadataThreshold="5" NumberOfFiltersToDisplay="4" MaxNumberOfFilters="20" SortBy="Frequency" SortByForMoreFilters="Name" SortDirection="Descending" SortDirectionForMoreFilters="Ascending" ShowMoreLink="True" MappedProperty="LoanCategory" MoreLinkText="show more" LessLinkText="show fewer" />
However when I do a search it displays all kinds of GUIDs for the categories as well as the categories I am looking for. I am pretty sure this did not happen when I just had this set up in test.
The crawled properties that I have mapped to this managed property are as follows:
Loan Category(Text), ows_Loan_x0020_Category(Text), Loan_x0020_Category(Text)
I originally had "ows_taxId_Loan_x0020_Category(Text)" mapped as well however I removed it after reading this might be the issue. Ran a full crawl and still no luck. I have also reset the search index and run a full crawl.
Any advice would be greatly appreciated.
Here is the link that is being generated by the refinement panel:
<a title="Refine By: #96dbf06d-8bf8-4ec5-971b-36e27fba1f62;Loan Sale:Participation and Servicing Agreement;#4ac5410c-79e9-4a9a-99fb-66592342ed16;#51e388cd-62df-4e50-98b4-01af5f776aea;#04ac5410c-79e9-4a9a-99fb-66592342ed16" class="ms-searchref-filterlink" id="ext-gen151" href="/Search/Pages/results.aspx?k=LoanCategory%3AServicing&r=loancategory%3D%22%2396dbf06d%2D8bf8%2D4ec5%2D971b%2D36e27fba1f62%3BLoan%20Sale%3AParticipation%20and%20Servicing%20Agreement%3B%234ac5410c%2D79e9%2D4a9a%2D99fb%2D66592342ed16%3B%2351e388cd%2D62df%2D4e50%2D98b4%2D01af5f776aea%3B%2304ac5410c%2D79e9%2D4a9a%2D99fb%2D66592342ed16%22">
I determined that the GUIDs were showing in my refinement panel because they were in fact the contents of one of the crawled properties that was mapped to my managed property.
In order to determine which one I created a managed property for each of the crawled properties and added them individually. I then did an search index reset from central administration and re-ran a full crawl.
I found the guid in the database which gave me the heads up. In the database go to your search db and look for the table MSSManagedProperties. Your db name may be different.
Select * from [_SearchDB].[dbo].[MSSManagedProperties]
Get the managed property you want and then do a query on PropertyStore database table MSSDocProps based on the Pid.
Select strVal2 FROM [_SearchDB_PropertyStore].[dbo].[MSSDocProps] where Pid = ?
This gives you an idea of what data you are getting for that managed property.
I have some javascript code attached to the accounts entity. This code sets the requirement level of the primary contact attribute based on the value of a custom option set field showing various account types. This was developed on one server, where it worked, and so the solution was imported into another organisation where it now doesnt work.
It seems to be only on this field as i have changed the code to look at another field and that works fine. The error it gives is that the "Object doesn't support this property or method". Also what is strange is that the field doesn't appear in the list under the entity within the solution despite it being a system field.
The code i'm using is:
Xrm.Page.getAttribute("primarycontactid").setRequiredLevel("required");
Can anyone help me figure out what it's doing?
Thanks
EDIT: Found that the code is actually making the field required despite the error, but it's not displaying the * next to it. Also if I make the field required in it's settings then it does the same thing