2009-12-31 9 views
1

Quelle est la manière de se connecter au service Web basé sur SOAP à partir de l'application Blackberry. Tout le monde utilise la bibliothèque KSoap. Existe-t-il un support natif dans Blackeberry SDK pour se connecter au webservice?Blackberry SOAP Webservice

+0

Il semble y avoir un support intégré comme de OS 6.0: http://www.blackberry.com/developers/docs/6.0.0api/net/rim/device/api/io/parser/soap/SOAPMessageProcessor.html – Rup

+0

Merci Rup pour le commentaire. – Krishnan

Répondre

0

je HttpConnecttion pour résoudre le problème que j'avais.

+0

Salut Krishnan, je suis nouveau sur Blackberry. J'apprécierais grandement si vous m'aidez comment accéder aux services web .net en utilisant HttpConnection? –

0

J'utilise le Java Sun Wireless Toolkit 2.5.2 pour générer des talons de méthode à partir de votre service Web en utilisant le fichier wsdl de vos services Web.

Vous pouvez ensuite appeler votre service Web en utilisant les fichiers générés, la syntaxe sera quelque chose comme:

WebServiceSoap_Stub stub = new WebServiceSoap_Stub(); 
String result = stub.webMethod(param1, param2); 
+0

Salut Fermin, Je n'ai pas essayé cette option, à la place j'ai utilisé HttpConnecttion disponible dans le cadre de Java. Merci pour votre suggestion. – Krishnan

+0

Salut @Fermin, j'ai essayé 'http' pour accéder au service web .net et j'ai reçu une réponse dans' xml formate'. Avez-vous une idée de la façon d'obtenir la valeur désirée/info de ce xml? De plus, comment fonctionne ce cours Stub, je serais très heureux si vous pouvez me fournir un extrait de code ou un pointeur qui me guidera pas à pas comment accéder au service Web en utilisant wsdl & stub (comme vous l'avez mentionné ci-dessus). –

+0

@RupeshYadav, ça fait quelques années que je faisais ça. Le WirlessToolkit génère des classes stub en fonction du wsdl, ce ne sont que des classes auxiliaires pour les méthodes de service Web. L'appel de la méthode stub appelle la méthode de service Web et renvoie le résultat, tout comme un appel de méthode normal. Si votre appel renvoie XML, vous devrez écrire une routine d'analyse ou utiliser une bibliothèque d'analyse pour obtenir votre valeur du XML. – Fermin

2

Services Web utilisateur JSR 172. Pour plus d'informations, reportez-vous à la documentation de NetBeans/Java ME IDE/SDK.

1

J'utilise Ksoap2 pour le développement d'applications BlackBerry quand je suis en train d'envoyer la demande par savon puis requestDump contient la valeur

<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://www.w3.org/2001/12/soap-encoding" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header /><v:Body><DownloadRetailerMobileApp xmlns="http://www.tibco.com/schemas/WSDL/Request.xsd" id="o0" c:root="1"><RetailerMSISDN>09886069494</RetailerMSISDN><RequestType>retailerowner</RequestType></DownloadRetailerMobileApp></v:Body></v:Envelope> 

et responseDump ce que je reçois est comme

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode xmlns="">SOAP-ENV:Server</faultcode><faultstring xmlns="">RuntimeError: Internal Server Error</faultstring><faultactor xmlns=""/></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> 

et puis à travers une exception est

org.xmlpull.v1.xmlpullParserException: expected:END_TAG{http://schemeas.xmlsoap.org/soap/envelop/}