2014-07-07 1 views
0

J'ai écrit un service Web et j'ai eu cette erreur. Comment puis-je corriger cette erreur?erreur de constructeur par défaut publique dans JAX-RPC 1.1

The service class "com.argedor.ttnetMusic.recommendationWebService.Recommender" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly. 
The value type "org.apache.spark.mllib.recommendation.Rating" used via the service class "com.argedor.ttnetMusic.recommendationWebService.Recommender" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization. 

Répondre

3

Le problème est avec le org.apache.spark.mllib.recommendation.Rating de classe qui ne contient pas de constructeur par défaut.

à savoir

public Rating() {} 

Cependant, il semblerait que cette classe ne fait pas partie de votre code et donc vous ne pouvez pas ajouter. Donc, ma question serait pourquoi passez-vous un type de tiers sur votre interface de service Web? Cela ne me semble pas une bonne idée. Vous voulez avoir un contrôle complet sur cette interface et les types sur elle.

Peut-être que vous pourriez créer votre propre type, en vous assurant qu'il a un constructeur par défaut défini, puis à la réception, mapper les données de celui-ci au type org.apache.spark.mllib.recommendation.Rating.

Questions connexes