2010-12-13 76 views
0

Bonjour Je crée une application J2ME dans lequel je dois appeler un service web pour le traitement je suis le chiffrement des données, puis d'appeler le service WebJ2ME appel de service Web et l'erreur java.rmi.ServerException:

mon code est parfait état sur mon Linux (Fedora) mais ne fonctionne pas sur mes fenêtres et mobile réelle Server utilise JBoss et EJB

code: -

CryptoEngine.setEncryptionKey("ROFTALPTNEMYAP1A");      

String IMEI = "IMEI="+txtIMEI.getString(); 
String phoneno = "phoneNumber="+txtPhoneNo.getString(); 

System.out.println(IMEI); 
System.out.println(phoneno); 

String en = CryptoEngine.encryptString(phoneno + ";" + IMEI); 
System.out.println(en); 
byte[] ben = en.getBytes(); 
System.out.println("En = " + en); 
String BaseEn = new String (Base64.encode(ben)); 


System.out.println("Base64 En = " + BaseEn); 
form.append(en); 

/* 
* Code For webservice 
*/ 
A1Stubs.A1MobileService_Stub stub = new A1Stubs.A1MobileService_Stub(); 
stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, "http://41.86.150.26:9090/A1Payment-A1Payment-ejb/A1MobileService"); 
String response = stub.getKey(BaseEn); 
form.append("Reached After Web-service Called"); 
System.out.println(response); 

/* 
* End of Web Serivce 
*/ 

byte[] baseDecode = Base64.decode(response); 
String Decrypt = CryptoEngine.decryptString(new String(baseDecode)); 
System.out.println(Decrypt); 
item.setText("Encrypted Text: \n"+en+"\n\n BASE64 Encryption: \n"+new String(Base64.encode(ben))+"\n\n Response of Web-Service : \n"+response+"\n\n BASE64 Decryption : \n"+new String(baseDecode)+"\n\n Decrypted Text : \n"+Decrypt); 
display.setCurrent(form); 

sur la machine windows je reçois l'erreur suivante après avoir appelé service web

java.rmi.ServerException: 
[Code: env:Server] 
[String: String index out of range: -1] 
     at com.sun.j2mews.xml.rpc.OperationImpl.setupResStream(OperationImpl.java:380) 
     at com.sun.j2mews.xml.rpc.OperationImpl.invoke(OperationImpl.java:236) 

pourquoi je fais face à ce problème ????

+0

code postal et il y a un problème sur votre serveur code –

+0

réellement côté serveur n'est pas créé par moi son déjà créé et fonctionnant mais me donnant la réponse d'erreur – Mihir

+0

@ org.life.java je ne reçois pas s'il y a problème alors pourquoi ce ne donne pas d'erreur dans mon Linux (Fedora) – Mihir

Répondre

0

On dirait qu'il y a un problème côté serveur. Ce type d'erreur indique qu'il n'y a rien à lire dans le flux que vous avez reçu. Vous devriez vérifier les logs du serveur pour voir ce qui s'est passé.

+0

@Valentine Rocher Etes-vous sûr que c'est un problème côté serveur parce que je n'ai pas de droits de serveur et si c'est un problème de serveur, je dois parler à l'autorité supérieure – Mihir

+0

Ouais. Je ne peux pas être sûr, c'est juste ce qu'il me semble. Sans plus d'informations, c'est tout ce que je peux dire. Essayez de déboguer votre programme, et voir où l'erreur vient, et ce qui est dans vos variables en ce moment. –

+0

J'ai l'application de débogage je reçois l'erreur à, chaîne de réponse = stub.getKey (BaseEn); – Mihir