1 pública classe SendMessageUtil { 2 // 短信发送相关数据 3 privada estática Cordas strUserName = "" ; 4 privada estática Cordas strPassword = "" ; 5 pública estática DynamicClientFactory DCF = nulo ; 6 público estático cliente org.apache.cxf.endpoint.Client = nulo ; 7 estática { 8 dcf = DynamicClientFactory.newInstance (); 9 cliente = dcf.createClient ( "" ); 10 } 11 12 13 privada estática int pós (path String, String JSON) lança Exceção { 14 HttpClient client = new HttpClient (); 15 PostMethod postMethod = novo PostMethod (caminho); 16 postMethod.setRequestHeader ( "Content-Type", "application / json" ); 17 byte [] = requestBytes json.getBytes ( "utf-8"); // 将参数转为二进制流 18 InputStream inputStream = novo ByteArrayInputStream (requestBytes, 0 , requestBytes.length); 19 RequestEntity = RequestEntity nova nova InputStreamRequestEntity (inputStream, 20 é requestBytes.length, "arquivo application / JSON;. Charset = UTF-8"); // corpo da solicitação 21 é postMethod.setRequestEntity (RequestEntity); 22 é int Estado = client.executeMethod (PostMethod); 23 é retorno Estado; 24 } 25 26 é / ** 27 * assíncrona enviar SMS 28 * 29 * @ param strPhoneNos, número de telefone, para adotar múltipla; além. 30 * @ param conteúdo da mensagem strMsg enviado. 31 * @Author 012.169 2013/09/12下午02:32:04 32 * / 33 pública estática vazio sendmsg (String strPhoneNos, String strMsg) { 34 ClientCallback callback = new ClientCallback (); 35 int intReply = 0 ; 36 37 try { 38 39 client.invoke (chamada de retorno, "SENDMSG", novo objecto [] {strPhoneNos, strMsg, strUserName, strPassword}); 40 Objecto [] = replys callback.get (); 41 para (Object o: replys) { 42 = IntReply NumUtils.objectConvertToInt (O); 43 é } 44 é // intReply, 0: o nome de usuário não existe, -1: senha errada, 02: Número de artigo transmissão de mensagens sobre o limite superior deste mês <0: a transmissão falhou> 0: a transmissão bem sucedida de 45 } o prendedor (excepção E) { 46 é log.error ( "erro de envio:" + e.getMessage () + " ; valor de retorno:" strPhoneNos + + + intReply strMsg); 47 } 48 } 49 50 / ** 51 * sincronização enviar mensagem 52 é * 53 é * @ param strPhoneNos, número de telefone, para adotar múltipla; além. 54 * @ param conteúdo da mensagem strMsg enviado. 55 * @Author 012169 2013/09/12下午02:32:04 56 * / 57 pública estático vazio sendMsgBySynchronously (String strPhoneNos, String strMsg) { 58 Objecto [] replys = nulo ; 59 int intReply = 0 ; 60 61 try { 62 replys = client.invoke ( "SENDMSG", novo objecto [] {strPhoneNos, strMsg, strUserName, strPassword}); 63 64 para (Object o: replys) { 65 intReply = NumUtils.objectConvertToInt (O); 66 } 67 68 // intReply, 0: utilizador não existe, -1: senha errada 02: o número de mensagens de texto enviadas tira sobre o limite superior deste mês, <0: não conseguiu enviar> 0: enviada com sucesso 69 70 } a captura (Exceção E ) { 71 é log.error ( "erro de envio:" + e.getMessage () + " ; valor de retorno:" strPhoneNos + + + intReply strMsg); 72 } 73 é 74 } 75 }