12
votes

Repos poster objet à l'aide du ressort pour Android

J'essaie de poster à un service de repos à l'aide de printemps pour Android (je suis nouveau à cet égard)

Le service reposant contient cette structure p>

WARNING: javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"latitud"). Expected elements are <{}searchInRO>]


9 commentaires

Avez-vous accès aux objets de données côté serveur ( Searchinro , Searchroutro ) du côté du client?


Oui, les deux ont mis en œuvre localement


Vous devez les utiliser alors, du côté du client. Au lieu d'une carte de plusieurs valeurs multi-valeurs, créez un objet Recherche Objet , remplacez-le et rangez-le dans votre httpentité. Je ne pense pas non plus que vous avez besoin du formhttpmessagecverter .


Avez-vous Jersey-Json Jar dans votre classe de classe?


Oui, je ne sais pas exactement ce qui ne va pas


Voir, la réponse est mise à jour. Assurez-vous d'avoir PojomappingFeature ajouté dans web.xml comme init-param


C'est une chatte étrange ... Yuo signifiait Ajouter Jersey-Json au côté du client?


Oui au côté du client. Si vous pensez que c'est une chatte étrange, je suis impuissant, au revoir, désolé de perdre votre temps


Vous prenez la très mauvaise façon. Je ne peux toujours pas ajouter une bibliothèque "Java Core" à un projet Android


3 Réponses :


0
votes

Je pense que vous êtes manquant httpmessageconverter code> haricot. Si vous produisez et consommez des données JSON, il devrait y avoir un moyen de convertir Java Pojo en Json et inversement. Essayez d'ajouter le haricon suivant dans votre fichier XML context.

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.8.5</version>
</dependency>
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.8.5</version>
</dependency>


0 commentaires

4
votes

Il semble que votre hypothèse est correcte, MultivalUemap provoque le problème.

Essayez ceci p>

au lieu d'utiliser MulvenEemap Définissez le lat et le gng dans l'objet Searchinro et l'ajoutez. P>

changer p> xxx pré>

à p> xxx pré>

Définissez le lat et le gng p> xxx Pré>

Ajouter aussi MappingJacksonHTTPMESSAGECONVERTER P>

<init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>


3 commentaires

J'ai essayé cela, et maintenant je reçois une erreur de serveur "causée par: javax.xml.bind.unmarshalexception: élément inattendu". Il semble que cela ne parvienne pas au maréchal du type JSON.


Avez-vous les pots Jackson dans votre classe de classe


Jetez un coup d'œil à cette Jersey.java.net / nonav / Documentation / Dernières / ... . On dirait que vous avez des annotations XML dans la classe Searchinro



0
votes

Approche DIFF Utilisez Jackson avec un écrivain pour aller à la chaîne avant de définir la httpentity ...

ref xxx


0 commentaires