- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Application 1</TITLE>
- <META content="text/html; charset=windows-1252" http-equiv=Content-Type>
- <SCRIPT type=text/javascript
- src="http://www.dwestern.com/smsapp/smshelper.js">
- </SCRIPT>
- <META name=GENERATOR content="MSHTML 8.00.6001.19046"></HEAD>
- <BODY>
- <TABLE border=0 width="100%">
- <TBODY>
- <TR>
- <TD rowSpan=2 width="25%" align=left><IMG
- src="http://developer.att.com/developer/images/att.gif"></TD>
- <TD width="15%" align=right>Server Time:</TD>
- <TD width="60%" align=left>Monday, June 13, 2011 16:52 CDT</TD></TR>
- <TR>
- <TD width="15%" align=right>Client Time:</TD>
- <TD width="25%" align=left>
- <SCRIPT language=JavaScript type=text/javascript>
- <!--
- var myDate = new Date();
- document.write(myDate.format('l, F d, Y H:i') + ' PDT');
- //-->
- </SCRIPT>
- </TD></TR></TBODY></TABLE>
- <%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
- <%@ page import="com.sun.jersey.multipart.file.*" %>
- <%@ page import="com.sun.jersey.multipart.BodyPart" %>
- <%@ page import="com.sun.jersey.multipart.MultiPart" %>
- <%@ page import="java.io.*" %>
- <%@ page import="java.util.List" %>
- <%@ page import="com.sentaca.rest.client.*" %>
- <%@ page import="java.net.*" %>
- <%@ page import="javax.ws.rs.core.*" %>
- <%@ page import="org.apache.commons.fileupload.*"%>
- <%@ page import="java.util.List,java.util.Iterator"%>
- <%@ page import="org.apache.commons.httpclient.*"%>
- <%@ page import="org.apache.commons.httpclient.methods.*"%>
- <%@ page import="org.json.*"%>
- <%@ page import="org.w3c.dom.*" %>
- <%@ page import="javax.xml.parsers.*" %>
- <%@ page import="javax.xml.transform.*" %>
- <%@ page import="javax.xml.transform.stream.*" %>
- <%@ page import="javax.xml.transform.dom.*" %>
- <%
- String mmsId = request.getParameter("mmsId");
- if (mmsId==null) mmsId = (String) session.getAttribute("mmsId");
- if (mmsId==null) mmsId = "";
- String accessToken = request.getParameter("access_token");
- if(accessToken==null || accessToken=="null"){
- accessToken = (String) session.getAttribute("accessToken");}
- if(accessToken==null || accessToken=="null") {
- session.setAttribute("postOauth", "MMS.jsp");
- session.setAttribute("redirectUri", "http://198.171.172.186:8080/apigee-public/oauth.jsp");
- session.setAttribute("clientId", "861e5197f51c002bb6fa9c44cc6360c3");
- session.setAttribute("clientSecret", "bb4d6838d7c65326");
- session.setAttribute("FQDN", "https://test-api.att.com");
- response.sendRedirect("oauth.jsp?getExtCode=yes");
- }
- String sendMms = request.getParameter("sendMms");
- String contentBodyFormat = "FORM-ENCODED";
- String address = "";
- String fileName = "";
- String subject = "";
- String priority = "High";
- String responseFormat = "json";
- String requestFormat = "json";
- String FQDN = request.getParameter("FQDN");
- if (FQDN==null)
- FQDN = (String) session.getAttribute("FQDN");
- if (FQDN==null)
- FQDN = "https://test-api.att.com";
- String endpoint = FQDN + "/1/messages/outbox/mms";
- %>
- <HR size=px"></HR>
- <font size=4px"><B>ATT sample MMS application</B></font><BR>
- Feature 1 - sending MMS message.<BR>
- <FORM method="post" name="sendMms" enctype="multipart/form-data" action="MMS.jsp?sendMms=true">
- <TABLE border=0 width="60%">
- <TBODY>
- <TR>
- <TD width="15%">Message:</TD>
- <TD><TEXTAREA rows=4 name="subject">simple message to myself</TEXTAREA>
- </TD></TR>
- <TR>
- <TD width="15%">Phone:</TD>
- <TD><input maxLength=12 size=12 name="address" value="425-241-8899"></input>
- </TD>
- </TR>
- <TR>
- <TD width="15%"> </TD>
- <TD>DDD-DDD-DDDD</TD>
- </TR>
- <TR>
- <TD width="15%">Attachment 1:</TD>
- <TD><input type="file" name="f1"></input>
- </TD>
- </TR>
- <TR>
- <TD width="15%">Attachment 2:</TD>
- <TD><input type="file" name="f2"></input>
- </TD>
- </TR>
- <TR>
- <TD width="15%">Attachment 3:</TD>
- <TD><input type="file" name="f3"></input>
- </TD>
- </TR>
- </TBODY></TABLE>
- <BUTTON type="submit" name="sendMms">send mms message</BUTTON>
- </FORM>
- <% if(request.getParameter("sendMms")!=null) {
- DiskFileUpload fu = new DiskFileUpload();
- List fileItems = fu.parseRequest(request);
- Iterator itr = fileItems.iterator();
- while(itr.hasNext()) {
- FileItem fi = (FileItem)itr.next();
- if(!fi.isFormField()) {
- File fNew= new File(application.getRealPath("/"), fi.getName());
- fileName = fileName + "," + fi.getName();
- if(!(fi.getName().equalsIgnoreCase(""))){
- fi.write(fNew);
- }
- } else if(fi.getFieldName().equalsIgnoreCase("address")) {
- address = fi.getString();
- address = "tel:" + address.substring(0,3) + address.substring(4,7) + address.substring(8,12);
- } else if(fi.getFieldName().equalsIgnoreCase("subject")) {
- subject = fi.getString();
- }
- }
- String attachmentsStr = fileName;
- String[] attachments = attachmentsStr.split(",");
- MediaType contentBodyType = null;
- String requestBody = "";
- MultiPart mPart;
- contentBodyType = MediaType.MULTIPART_FORM_DATA_TYPE;
- JSONObject requestObject = new JSONObject();
- requestObject.put("priority", priority);
- requestObject.put("address", address);
- requestObject.put("subject", subject);
- requestObject.put("content-type", "image/jpeg");
- requestBody += requestObject.toString();
- mPart = new MultiPart().bodyPart(new BodyPart(requestBody,MediaType.APPLICATION_JSON_TYPE));
- mPart.getBodyParts().get(0).getHeaders().add("Content-Transfer-Encoding", "8bit");
- mPart.getBodyParts().get(0).getHeaders().add("Content-Disposition","form-data; name=\"root-fields\"");
- mPart.getBodyParts().get(0).getHeaders().add("Content-ID", "<startpart>");
- MediaType[] medTyp = new MediaType[4];
- for(int i=1;i<attachments.length; i++) {
- FileDataBodyPart fIlE = new FileDataBodyPart();
- medTyp[i] = fIlE.getPredictor().getMediaTypeFromFileName("/" + attachments[i]);
- }
- ServletContext context = getServletContext();
- if(attachments.length == 2){
- mPart.bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[1]), medTyp[1]));
- } else if(attachments.length == 3) {
- mPart.bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[1]), medTyp[1])).bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[2]), medTyp[2]));
- } else if(attachments.length == 4) {
- mPart.bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[1]), medTyp[1])).bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[2]), medTyp[2])).bodyPart(new BodyPart(context.getResourceAsStream("/" + attachments[3]), medTyp[3]));
- }
- // This currently uses a proprietary rest client to assemble the request body that does not follow SMIL standards. It is recommended to follow SMIL standards to ensure attachment delivery.
- RestClient client;
- client = new RestClient(endpoint, contentBodyType, MediaType.APPLICATION_JSON_TYPE);
- client.addParameter("access_token", accessToken);
- client.addRequestBody(mPart);
- String responze = client.invoke(com.sentaca.rest.client.HttpMethod.POST, true);
- if (client.getHttpResponseCode() == 201) {
- JSONObject rpcObject = new JSONObject(responze);
- mmsId = rpcObject.getString("id");
- session.setAttribute("mmsId", mmsId);
- %>
- <table border="1" bgcolor="#CCFF33" >
- <tr><th>message id</th></tr>
- <tr><td><%=mmsId%></td></tr>
- </table>
- <%
- } else {
- System.out.println(responze);
- %>
- <table border="1" bgcolor="#FF0000" >
- <tr><th>Error</th></tr>
- <tr><td><%=responze%></td></tr>
- </table>
- <%
- }
- }
- %>