joncarlson
joncarlson

Reputation: 165

MissingMethodException is a service: "No signature of method"

Having a really strange issue in a Grails service. I have a service thats setup like this:

package com.mydomain

import java.net.URLEncoder
import java.rmi.server.UID
import java.security.*

class EmailConfirmationService {
    def sendConfirmation(Person person) {}
}

And I'm calling it from a controller with emailConfirmationService.sendConfirmation(person)

When I startup the Grails app, it throws the following error:

MissingMethodException occurred when processing request: [POST] /api/people/
No signature of method: mydomain.api.EmailConfirmationService.sendConfirmation() is applicable for argument types: (com.mydomain.Person) values: [[email protected]]

All I have to do is save the EmailConfirmationService file, the watcher picks it up and recompiles, then it works great and never again throws that error.

Until I restart, then it errors until I save that file again.

I've tried the following but nothing has worked yet:

Any ideas?

Upvotes: 2

Views: 430

Answers (1)

cfrick
cfrick

Reputation: 37008

Your service states another package (com.mydomain) than the one in the error message (mydomain.api). Please make sure, that the packages match and that the file is located in grails-app/services/com/mydomain/EmailConfirmationService.groovy (unless all of this is due to some obfuscation you did for SO)

Upvotes: 2

Related Questions