I have a problem with the MCWS database search for files.
I am trying to retrieve a (filekey-)list of all Image-Files in the library for a given [Artist].
http://localhost:52199/MCWS/v1/Files/Search?Query=[Artist]=[Frank Zappa] [Media Type]=[Image]&Action=Serialize&qrOqNbnb
This works as expected for [Frank Zappa]:
response is: 2;40;-1;28061958;28061961;28061963;... (40 filekeys = OK)
Logfile:
..
0009438: 7216: Sharing Plugins: JRWebService::Process: URL: /MCWS/v1/Files/Search?Query=[Artist]=[Frank%20Zappa]%20[Media%20Type]=[Image]&Action=Serialize&qrOqNbnb
0009454: 7216: Database: CSearchFilesHelper::GetResults: Search: [Artist]=[Frank Zappa] [Media Type]=[Image]; Elapsed ms: 6,698
0009454: 7216: Sharing Plugins: JRWebService::Process: Finish (16 ms)
..
But if the [Artist] contains a "&" I get a wrong response:
http://localhost:52199/MCWS/v1/Files/Search?Query=[Artist]=[Tuck & Patti] [Media Type]=[Image]&Action=Serialize&qrOqNbnb
response is: 2;93;-1;24119834;3152837;3152838; ... (93 filekeys = not OK)
-> all filekeys for "Tuck & Patti" but including the Media Type Audio! ([Media Type]=[Image] seems to be no limitation)
Logfile:
..
0008658: 7436: Sharing Plugins: CHTTPListenerWorker::HandleRequest: TCP: 127.0.0.1: GET: http://localhost:52199/MCWS/v1/Files/Search?Query=[Artist]=[Tuck%20&%20Patti]%20[Media%20Type]=[Image]&Action=Serialize&qrOqNbnb
0008658: 7436: Sharing Plugins: JRWebService::Process: Start
0008658: 7436: Sharing Plugins: JRWebService::Process: URL: /MCWS/v1/Files/Search?Query=[Artist]=[Tuck%20&%20Patti]%20[Media%20Type]=[Image]&Action=Serialize&qrOqNbnb
0008658: 7436: Database: CSearchFilesHelper::GetResults: Search: [Artist]=[Tuck; Elapsed ms: 6,772
..
Can anyone give me a hint? What am I doing wrong?
P.S.
I am testing the searches by copy-pasting them into the browser (FireFox 34.0.5). Later I will try this from JavaScript (TrackInfo-template).