Magento Dataflow error: Method "parse" not defined in adapter - parsing

I have a method to import products, what I do is this, I create a new file in local/Mage/Catalog/Model/Convert/Adapter and I override saveRow functions, this files class is a extension of Mage_Catalog_Model_Convert_Adapter_Product.
And Everythings works fine IN LOCAL. No problems in my pc, in my local server. So it’s time to test it in the client server, I upload de file, the csv as well and when I execute at dataflow Advances profiles, I have this error:
Method “parse” not defined in adapter catalog/convert_adapter_productconfigurable
I repeat, I check it on local and it works, but not at the server.
I disable, flush then enable again cache, reindex data and I do not what more do. For a reason in the server do not find the class or something like that.
Thanks in advance !

There Must be some error in defining class name of the "local" code file please check classname of local file's product.php.

1) instead of uploading the file i think you should explicitly write your new adapter class on the client server magento...and before that please check out the version conflicts
2) if still the problem persists try calling the parent class parse method explicitly or override it...
hope this helps it....actly without knowing the code its hard to predict what you should do...

Best way to get to the bottom of problem is to check logs which are located in your magento root folder:
var/log/system.log
var/log/exception.log
My guess is that you haven't compiled the plugin. Please run in your admin panel System -> Tools -> Compile

Related

Xcode wont suggest or autocomplete or connect

Hi from this morning i've got a weird thing !
Xcode won't Suggest ,
won't AutoComplete ,
won't give color to my codes ,
wont give me any Errors and won't find out my properties or methods or anything !
But indexing compelete with success
Build compelete with success
Run compelete with success
I Had same problem , and i have solutions for that :
1.DerivedData :
Xcode caches some files that cause this problem
Go to --> YourUserName/Library/Developer/Xcode/
Then remove the DerivedData directory in the Xcode directory
if you didnt saw Library folder because it is a hidden directory
Here is a good Resource of how to show hidden files in macOS
2.Memory
clean up some memory , on devices that have
8GB of RAM this problem Occurred more
I suggest you to use CleanMyMac3 it also free a lot of Storage
You can download it from here
3.Code Clean !
I suggest you to code clean first !
a few things that i used to do in my Projects :
For every method that only belongs to body of that class use fileprivate which means this method is available for the class and extenstions which just private is only available to the body of the class
Any property that belongs only to body of the class should mark with fileprivate
Avoid of declaring variables outside of the class ! this will get memory all the time
Deinit() the Models after you end up working with them
Avoid of doing Notification Center because you forget to dispose them ! instead of that i suggest you to start RxSwift that works better you can find it here
RxSwift
4. Code Completion
go to the Xcode->Preferences->TextEditing
Check that is your code completion options is checked to true
Restart your Xcode.
If still not work, restart your computer.

Parse Server Cloud Code Does Not Work

Hey guys I have a very confusing issue at hand, I want to state that I have looked through EVERY resource I could find including on here about getting custom cloud code functions to work.
I am hosting Parse Server on Heroku with my database on mLabs
I can successfully call the 'hello' cloud code function
I cannot successfully call any custom Function, even one that prints something to the console
Below is my current process that I have been using trying to get my cloud code functions to work
Open Main.js and Add Cloud code:
Parse.Cloud.define('testParagraph', function(req, res) {
console.log("received......... this is a console log for a test function that will print out a paragraph as a test");
res.success('Hi, this is the start of a new test function that will print out a paragraph');
});
Commit change to git
Push Change to git
Restart Heroku Server
Run App & Call cloud code from iOS app in Swift
Result:
Every Time I get error 141 Invalid Function, however I can call 'hello' successfully. Just not a custom function.
Edit 2: I have discovered that I am unable to update any cloud functions. Meaning that while I can successfully call the "hello" function if I make a change to said function, re-upload to git, restart Heroku the change is not implemented. This leads me to believe that there must be something wrong with either the link to my main.js or it is being uploaded somewhere else and isnt calling the correct main.js... Any insight would be helpful
I solved this issue, my git was behind HEAD and therefore any changes I made did not become active on my Heroku Server, I merged my branches and this solved my problem of not being able to run custom functions. Now I am able to run custom functions, but I still get error 141 when try to query my database, due to the new problem I am marking this as solved and asking a new question.

Using Cloud Code with the Parse Server and Heroku

I am trying to understand the new Parse Server and have deployed on Heroku. This went smoothly but what I am struggling with is figuring out how to write server side code (Cloud Code). I've read over the parse server example many times so I must be missing something but I'm very unclear if I should be using Express for something, or how I even begin to include my Cloud Code files. Any help is very much appreciated.
UPDATE:
I found the cloud folder I was just looking in the wrong place. I moved it and index.js to my apps folder on the desktop. I have changed the default code in main.js to my custom code. I have set up index.js with my apps information. The problem now is when I run the app and try to call the cloud code functions I get error invalid function.
If you have the parse server example running on heroku you are 90 percent there. Just open the cloud/main.js file and start adding your cloud code. There should be a hello cloud function there as an example.
To use your already created cloud code modules/files you can require them as you have done before on parse.com. The only difference is that the path should now be relative instead of absolute. For example require('cloud/cloudFunctions'); should be require('./cloudFunctions'); if you had a module called cloudFunctions.js in the cloud directory.
Cloud Code works similar to how it did on parse.com and you shouldn't have to think too much about expressjs for simple applications. That said, parse server is using expressjs so yes you are using it.
Parse server is simply a another node module similar to the other thousands available. If you do not have previous experience with nodejs, running parse server can seem complicated. Therefore I would recommend reading about the basics of nodejs before a full migration.
I'm using the Bitnami stack on a Google Compute Engine instance and I had a similar problem to yours. To solve it, just navigate to the folder where your server.js file is and create a folder called "cloud". Then create the main.js file inside the cloud folder with the following content:
Parse.Cloud.define('hello', function(req, res) {
res.success('Hi');
});
Now open the server.js file and find the line containing the path to the cloud code file. Change it to point to you main.js file like this:
This could be any arbitrary folder of your choosing.
Now just restart your parse server and call the cloud function:
String result = ParseCloud.callFunction("hello", new HashMap<>());
This is with the Java SDK but should not be much different. The variable result will equal "Hi" if you've used the function from above.

How to deploy client-side service WSDLs

I have code using the SysOperationFrameworkService, and after a model-deploy or some other set of circumstances, many users get Function SysOperationDataContractInfo::newParameterInfo has been incorrectly called..
It's unable to be resolved with full-compile, sync, full CIL, deleting XPPIL files, deleting AUC/KTI, usage data, security (they're admin), refreshing caches (server &client), etc. and I have a ticket open with Microsoft and they're struggling.
I've narrowed the issue down to when the service group AxClient located in the AOT at \Service Groups\AxClient WSDL files get deployed to C:\Users\[User]\AppData\Local. Either those files existing there, or something happening when those files get deployed is needed.
Any idea how/what causes these files (AxClient.wsdl, etc) to be created? With a user who happens to be "working", I can close the client, delete all the files, open the client, and no files will exist...then I perform a SysOp process and those files get created during that process. With the non-working user, with same security on the same machine does it, the files don't get created.
I have found that the
"Function SysOperationDataContractInfo::newParameterInfo has been incorrectly called" has been throwed because of a possible bug in the kernel when calling the "dictMethod = new DictMethod(UtilElementType::ClassInstanceMethod, dictClass.id(), methodName);" in the SysOperationServiceController.getServiceOperation() method. In my case the new DictMethod was sometimes unable to get the method parameter from a superclass, causing the _parentMethodParameterName check fail in the SysOperationDataContractInfo.newParameterInfo.
So, I solved the issue just by doing an override of the super method where the parameter could not be retrieved and then just calling super(_parameter), then everything went well.
Have you tried axclicfg.exe -> connections -> refresh

Silverlight 3 with Weborb for Java

For some reason, i can not invoke java method deployed under Tomcat/Weborb application. When i run weborb console and invoke the method from there, there is no problem. However when i tried to call from Silverlight 3 client, it does not response at all. There is one possibility which is incorrect service gateway. But i have checked the server path to make sure it is correct. I also tried different approaches to invoke server call such as proxy and class interface mentioned inside weborb documentation. I'm stuck with this problem for two days already and can not progress any further. Is there any common mistake when it comes to this problem? Any help would appreciate.
Cheers,
Khoa Nguyen
I found the solution. This is because the gateway mapping is incorrect. For instance, When deploy under weborb, the client use localhost:8080/weborb.wo. However when you deploy underworb, the gateway mapping is now change to something like localhost:8080/weborb/console/weborb.wo something like that. You can see how your request mapped to by run the weborb console and look at the server status as you invoke your java methods.
Hope this help.
Cheers,
Khoa Nguyen
There is a new WebORB for Java 4.1 release available that fixes this mapping issue. In addition, the new code generator creates a complete client class library with complex types, enums, bindable model and proxy class for the remote Java service. The release is available here:http://www.themidnightcoders.com/products.html

Resources