When Url length >= 128 ,
PDU become error.
Modify file :
net.sourceforge.jwap.util.ByteArrayOutputStream
Modeify function : writeUintVar(long b)
//-----------------
static int[] getLengthPDU(long l){
StringBuffer sb = new StringBuffer
(Long.toBinaryString(l));
//System.out.println(l+":" + sb.toString());
while(sb.length()%7 !=0) sb.insert(0,'0');
int[] ia = new int[sb.length()/7];
//System.out.println(sb.toString());
for(int i=0;i<ia.length;i++){
ia[i] = Integer.parseInt((i == ia.length-1?'0':'1') +
sb.substring(i*7,i*7+7)
,2);
//System.out.println(ia[i]+ ":" +
Integer.toBinaryString(ia[i]));
}
return ia;
}
/**
* write a unintvar
* according to WAP-230-WSP-10010705-a secition
8.1.2
*/
public synchronized void writeUintVar(long b) throws
NumberFormatException {
int[] ia = getLengthPDU(b);
for (int i = 0; i < ia.length; i++) {
outstream.write(ia[i]);
}
}