J'essaye de consommer la réponse de SOAP xml en passant request xml dans une chaîne, en utilisant le plugin de Java Java pour Eclipse. J'ai été frappé par cela ces deux derniers jours à la recherche d'un moyen de le résoudre.Blackberry-ne pas obtenir la réponse de savon xml
J'ai joint l'exemple de code ci-dessous.
public String CheckXml()
{
final String requestXml="<SOAP:Envelope xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\"><header xmlns=\"http://schemas.cordys.com/General/1.0/\"></header><SOAP:Body><authenticateAgainstOID xmlns=\"http://schemas.cordys.com/OIDAuthentication\"><stringParam>HEMANTS_MUM013</stringParam><stringParam1>TATA2012</stringParam1></authenticateAgainstOID></SOAP:Body></SOAP:Envelope>";
final String HOST_ADDRESS = "http://xyz.com/cordys/com.eibus.web.soap.Gateway.wcp?organization=o=B2C,cn=cordys,cn=cbop,o=tatamotors.com&SAMLart=MDFn+8e5dRDaRMRIwMY7nI84eEccbx+lIiV0VhsOQ7u+SKG6n5+WNB58";
String result="";
try {
HttpConnection url=(HttpConnection)Connector.open(HOST_ADDRESS);
url.setRequestProperty("Content-Type", "text/xml");
url.setRequestMethod(HttpConnection.GET);
OutputStreamWriter writer=new OutputStreamWriter(url.openOutputStream());
writer.write(requestXml);
writer.flush();
writer.close();
StringBuffer buffer1=new StringBuffer();
InputStreamReader reader=new InputStreamReader(url.openInputStream());
StringBuffer buffer=new StringBuffer();
char[] cbuf=new char[2048];
int num;
while (-1 != (num = reader.read(cbuf))) {
buffer.append(cbuf, 0, num);
}
String result1 = buffer.toString();
} catch (Exception e) {
System.out.println(e);
}
return result;
}
i ont essayé également de vérifier la connexion http, j'ai posté le code ici, si (url.getResponseCode() == HttpConnection.HTTP_OK) \t \t { \t \t \t InputStream fluxEntrée = url.openInputStream() ; \t \t \t buffer.append (IOUtilities.streamToBytes (inputStream)); \t \t \t résultat = buffer.toString(); \t \t \t \t \t} mais ca marche pas pour moi – Pramodhini
Qu'est-ce que vous obtenez? Une exception? Peut-être que vous devez définir certains en-têtes d'accepter. Pourriez-vous renifler le client de bureau et vérifier les en-têtes qu'il envoie au serveur/Peut-être que vous devez changer la méthode de GET à POST. –
Salut après avoir changé et vérifié tout le chemin encore maintenant je reçois la même erreur comme la classe ne se trouve pas près de la ligne inputstreamreader. – Pramodhini