All pastes #480469 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-10 09:17 UTC
rendered paste body
	public String toXML(){
		String ret = "";
		ret += writeString("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
		ret += writeString("<soap:Envelope xmlns:xsi="+quote("http://www.w3.org/2001/XMLSchema-instance")+" xmlns:xsd="+quote("http://www.w3.org/2001/XMLSchema")+" xmlns:soap="+quote("http://schemas.xmlsoap.org/soap/envelope/")+">");
		ret += writeString("  <soap:Body>");
		ret += writeString("    <SearchNews xmlns="+quote("http://tempuri.org/")+">");
		ret += writeString("		      <Server>"+server+"</Server>");
		ret += writeString("		      <Start>"+toSOAPDate()+"</Start>");
		ret += writeString("		      <Count>"+count+"</Count>");
		ret += writeString("                  <Hash>"+getHash()+"</Hash>");
		ret += writeString("    </SearchNews>");
		ret += writeString("  </soap:Body> ");
		ret += writeString("</soap:Envelope>");
		return ret;
	}

	private String getHash(){
		String in = SECRET;
		in += SD;
		in += toASPDate();
		in += SD;
		in += getCount();
		in += SD;
		
		try{
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			md5.reset();
			md5.update(in.getBytes());
			return toHexString(md5.digest());
		}catch(NoSuchAlgorithmException e){
			throw new RuntimeException("No md5");
		}
	}
	
	private static final String HEX_DIGITS = "0123456789abcdef";

	private static String toHexString(byte[] v)	{
		StringBuffer sb = new StringBuffer(v.length * 2);
		for (int i = 0; i < v.length; i++) {
			int b = v[i] & 0xFF;
			sb.append(HEX_DIGITS.charAt(b >>> 4));
			sb.append(HEX_DIGITS.charAt(b & 0xF));
		}
		return sb.toString();
	}

	protected String toSOAPDate(long aDate){
		String ret = "";
		Date d = new Date(aDate);
		
		ret += NumberUtils.itoa(d.getYear(),4);
		ret += "-";
		ret += NumberUtils.itoa(d.getMonth(), 2);
		ret += "-";
		ret += NumberUtils.itoa(d.getDay(), 2);
		/*ret += " ";
		ret += NumberUtils.itoa(d.getHour(), 2);
		ret += ":";
		ret += NumberUtils.itoa(d.getMin(), 2);*/
		return ret;
	}
	
	protected String toSOAPDate(){
		return toSOAPDate(date);
	}
	
	protected String toASPDate(){
		return toASPDate(date);
	}
	 //"2007-05-10 12:41:08Z"
	protected static String toASPDate(long aDate){
		String ret = "";
		Date d = new Date(aDate);
		
		ret += NumberUtils.itoa(d.getYear(),4);
		ret += "-";
		ret += NumberUtils.itoa(d.getMonth(), 2);
		ret += "-";
		ret += NumberUtils.itoa(d.getDay(), 2);
		ret += " ";
		ret += NumberUtils.itoa(0/*d.getHour()*/, 2);
		ret += ":";
		ret += NumberUtils.itoa(0/*d.getMin()*/, 2);
		ret += ":";
		ret += NumberUtils.itoa(0, 2);
		ret += "Z";
		
		
		return ret;
	}