Erro HTTP 400 no serviço da web REST durante o POST com FormParam contendo objetos próprios (por exemplo, enities)

Para um processo de encomenda no meu serviço REST, tenho de enviar uma lista de "artigos" do cliente para o servidor. Esses objetos de artigo são de um tipo de entidade própria. Eu já descobri que enviar uma lista de objetos STRING ou INTEGER funciona, enviando-a via @FormParam.

Mas assim que eu tento enviar uma lista de meus próprios objetos (mesmo que apenas UM objeto), eu sempre recebo umErro HTTP 400 "Solicitação incorreta".

Eu tentei exatamente o mesmo código como abaixo (apenas os parâmetros de form.add () e os parâmetros do método do servidor foram alterados) e postet Strings, Integers e listas de Strings com sucesso. Apenas cria problemas ao enviar tipos de objetos próprios.
O log me disse que o método do servidor não foi atingido. O processo está quebrado em algum lugar antes.

Eu também tentei obter o pedido usando um proxy (Apache JMeter). Aqui diz que o parâmetrokunde contém o valorentities.Kunde%40af8358. Então eu acho que o objeto não é serializado completamente (ou de todo). Mas enviar este tipo de objeto de servidor para cliente em uma resposta funciona bem - aqui a serialização XML não é problema.

O que pode ser a razão? É possível NÃO enviar tipos próprios através do POST?
(PS: o tipoKundeno meu exemplo é serializável e anotado com@XmlRootElement.)

Agradeço antecipadamente por sua ajuda!
Jana

Nota: Estou usando o SAP Netweaver AS. Mas até agora ele se comportou como qualquer outro Java AS, então eu não acho que esse seja o motivo. Todas as outras operações REST funcionam, até mesmo POST sem entidades próprias.

Adição: Estou usando a biblioteca JERSEY.

Meu código no lado do servidor:

@Path("/test")
    @POST
    @Produces(MediaType.TEXT_XML)
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)    
    public String test(
        @FormParam("kunde") Kunde kunde) {    

        return "The name of the customer is: "
           +kunde.getVorname()+" "+kunde.getNachname();        
    }

Meu código no lado do cliente (o método está em um Session Bean):

public String  test() {

    Kunde kunde = new Kunde();
    kunde.setNachname("Müller");
    kunde.setVorname("Kurt");

    Form form = new Form();
    form.add("kunde", kunde);       

    return service
        .path("test")
        .type(MediaType.APPLICATION_FORM_URLENCODED)
        .accept(MediaType.TEXT_XML)
        .post(String.class, form);
}

Ondeserviço é construído assim:

com.sun.jersey.api.client.Client;
com.sun.jersey.api.client.WebResource;
com.sun.jersey.api.client.config.ClientConfig;
com.sun.jersey.api.client.config.DefaultClientConfig;

ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
service = client.resource(UriBuilder.fromUri("<service-url>").build());

questionAnswers(1)

yourAnswerToTheQuestion