Вызов веб-службы J2me и ошибка java.rmi.ServerException: - PullRequest
0 голосов
/ 13 декабря 2010

Здравствуйте, я создаю приложение J2ME, в котором мне нужно вызвать веб-сервис для обработки. Я шифрую данные, а затем вызываю веб-сервис.

мой код отлично работает на моем Linux (Fedora), но не работаетна моих окнах и на самом мобильном сервере используется JBoss и EJB

Код: -

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);

на Windows-машине я получаю следующую ошибку после вызова веб-службы

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)

почему я сталкиваюсь с этой проблемой ????

1 Ответ

0 голосов
/ 13 декабря 2010

Похоже, что существует проблема на стороне сервера. Этот тип ошибки означает, что в потоке, который вы получили, нечего читать. Вы должны проверить журналы сервера, чтобы увидеть, что произошло.

...