Je développe un plugin pour nexus oss. Mon application crée une réponse d'appel au repos (à une demande du serveur). Mais lorsque le serveur reçoit, il jette l'erreur comme suitUri vide dans la réponse de repos
javax.xml.bind.UnmarshalException:
unexpected element (uri:"", local:"com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse").
Expected elements are
\lt{http://www.collab.net/teamforge/integratedapp}CreateProjectConfigurationRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersResponse\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetPageComponentParametersRequest>
Je suppose que la raison derrière cette exception est que la réponse ne correspond pas à l'attendre parce que le uri (ce qui est juste ma conjecture, si elle est mal s'il vous plaît corrigez-moi), c'est l'espace de noms en réponse n'est pas défini.
snip du code dans mon plugin est comme suit
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"configurationParameter"
})
@XmlRootElement(name = "GetConfigurationParametersResponse", namespace = "http://www.collab.net/teamforge/integratedapp")
public class GetConfigurationParametersResponse
extends BaseResponse
{
Pourquoi l'espace de nom ne sont pas ramassés lors de la création de réponse? Même corriger moi si la véritable raison de l'exception n'est pas l'uri vide. Si oui, quelle est la véritable raison de cette exception? S'il vous plaît aider.
Merci de répondre.Oui exactement. Je l'obtiens sous la forme que vous avez suggérée. Que dois-je faire pour obtenir la forme attendue. J'utilise l'application nexus oss http://www.sonatype.org/nexus/. Donc, cela doit utiliser xstream. Il n'y a donc aucun moyen de donner xml dans le formulaire attendu même si l'application utilise xstream? –
Oui J'ai fait une recherche pour savoir si xstream est utilisé dans l'application nexus oss https://github.com/sonatype/nexus-oss/search?q=xstream&ref=cmdform. Oui, comme vous l'avez suggéré, ils utilisent Xstream. Que puis-je faire pour donner la forme attendue. –
Le plugin nexus qui est supposé prendre en charge cette communication de repos est https://github.com/sonatype/nexus-oss/blob/5ac6c0e9b5725e9a07fff0f847efed71bd930952/plugins/restlet1x/pom.xml. Je ne sais pas comment trouver s'ils utilisent jaxb ou xstream. –