2010-10-10 3 views
1

m'a donné un api qui stipule qu'il faut:httpclient problème posé

URL http://server/a/messages.xml 

HTTP Method POST (even though the soapui example of this call uses PUT) 

Input XML 
<?xml version="1.0" encoding="UTF-8"?> 
<message> 
    <content>Post message</content> 
    <parent-id nil="true"></parent-id> 
</message> 

Maintenant, j'ai essayé d'utiliser le code suivant (où le corps de la demande est le xml comme on le voit ci-dessus sans \ r \ n dans)

PutMethod putMethod = null; 
putMethod = new PutMethod(url); 
putMethod.setQueryString(requestParams); 
RequestEntity rEnt = new StringRequestEntity(requestBody,"text/xml",null); 
putMethod.setRequestEntity(rEnt); 
statusCode = client.executeMethod(putMethod); 

je continue à revenir 500 du statut, je sais que cela fonctionne comme l'exemple SoapUI (mis) fonctionne.

Des idées quelle petite chose me manque. (Je vais essayer après aussi)

Merci

+0

Avez-vous essayé utilisant plutôt POST, comme suggéré dans la documentation ci-dessus? –

Répondre

1

Si vous revenez un code d'état 500, il est une erreur de serveur. En théorie, les mauvaises requêtes (même mal formées) devraient obliger le serveur à renvoyer un code d'état 4xx, sans lui faire renvoyer un code d'état indiquant une faute interne de son côté. Si ce serveur renvoie un code d'état 500 pour une requête que vous faites, cela indique un problème côté serveur.

0

Eh bien, il est avéré que POST a fait le travail, même si la demande SoapUI était un PUT .. plus étrange je suppose que je ne comprends pas quelque chose ..

Merci pour l'aide