2010-12-13 4 views
0

안녕하세요 내가 전화 그럼 내가 데이터를 암호화하고 내가 처리 에 대한 웹 서비스를 호출 할 필요가있는 J2ME 응용 프로그램을 작성하고 오전 내 코드는J2ME 웹 서비스 호출 및 오류 java.rmi.ServerException의 :

웹 서비스 내 리눅스 (페도라)에서 완벽하게 작동하지만 내 창에 작동하지 실제 모바일 서버

코드 J 보스와 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); 

내가 오류를 다음 얻고 호출 한 후 웹 서비스

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) 

왜 나는이 문제에 직면하고 있습니까?

+0

게시물 코드와 서버 코드에 문제가 있습니다. –

+0

실제로 서버 측이 이미 만들어져 작동하지 않지만 오류 응답을 내게 제공합니다. – Mihir

+0

@ org.life.java 문제가있는 경우 문제가 발생하는 이유는 무엇입니까? 내 리눅스 (페도라)에서 오류가 발생하지 않습니다 – Mihir

답변

0

서버 측에 문제가있는 것 같습니다. 이 유형의 오류는 수신 한 스트림에서 읽을 내용이 없음을 나타냅니다. 서버 로그를 검사하여 어떤 일이 발생했는지 확인해야합니다.

+0

@ Rochester Rocher는 서버 권한이 없기 때문에이 서버 문제가 확실합니다. 서버 문제 일 경우 상위 권한자와 이야기해야합니다. – Mihir

+0

처럼 보이지만, 네. 나는 __sure__ 될 수 없어, 그건 내게 보이는 것. 더 많은 정보가 없으면 그게 내가 말할 수있는 전부입니다. 프로그램을 디버그하여 오류가 발생한 위치와 현재 변수가 무엇인지 확인하십시오. –

+0

나는 디버그 애플리케이션을 가지고 있는데, 오류 발생시 String 응답 = stub.getKey (BaseEn); – Mihir