我正处于为iOS设备开发Apple MDM服务器的阶段。我的签到网址是https:\ anand-2255 \ checkin ...
我正在使用Tomcat构建服务器,我的Servlet-maping和servlet如下
<servlet-mapping>
<servlet-name>MDM</servlet-name>
<url-pattern>/checkin</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>MDM</servlet-name>
<servlet-class>com.manageengine.ads.fw.servlet.Mdm</servlet-class>
</servlet>
Mdm类如下。它只获取Get和post请求并在日志中打印。
public class Mdm extends HttpServlet
{
private static Logger out = Logger.getLogger("ADSLogger");
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String in = request.getQueryString().toString();
System.out.println("MDM-Servlet-Clas-POST");
System.out.println(in);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String in = request.getQueryString().toString();
System.out.println("MDM-Servlet-Clas-GET");
System.out.println(in);
}
}
当我提供像https:\ anand-2255 \ checkin?hello这样的网址时,我可以通过GET请求在我的日志中看到你好。但是当我尝试从iPhone配置实用程序注册设备时,设备不会向此URL发送任何POST请求。它说“配置文件安装失败”,控制台说“无法建立与服务器的连接”。
答案 0 :(得分:1)
doPost。应该使用doPut,因为iOS将消息作为plist文件发送。
答案 1 :(得分:1)
正确,iOS客户端会将带有plist的PUT请求发送到您的URL。如果您注册Apples企业开发计划,或者在此处的blackhat文档中,您可以在官方MDM文档中找到它:https://media.blackhat.com/bh-us-11/Schuetz/BH_US_11_Schuetz_InsideAppleMDM_WP.pdf