概览:
DRM-X许可证服务提供接口您可以在您的网站中调用。通过调用DRM-X许可证,可以与您的网站无缝集成应用海海软件DRM-X。
整个流程非常简单您只需调用 getLicenseRemote函数,并提供几个参数,然后DRM-X许可证服务将会给您返回许可证值。
DRM-X许可证服务需要以下参数:
AdminEmail 是您登陆DRM-X帐户的邮件地址。
WebServiceAuthStr 是登录验证DRM-X许可证服务验证码。您可以在DRM-X帐户信息->网站集成参数中设置此验证码。
ProfileID 是许可证模版ID 或者编码器许可证模版ID. DRM-X 提供此参数
ClientInfo 客户端基本信息. DRM-X 提供此参数
RightsID 是您在DRM-X帐户创建的权限ID. 您可以在DRM-X帐户许可证权限列表中找到权限ID。
UserLoginName 是您用户数据库中的用户名或者是用户ID,UserLoginName必须是在您的数据库是唯一的。
UserFullName 是您用户数据库中的用户姓名。这个参数是选项。你可以留空,或者将它的值设置为N/A。
GroupID是您在DRM-X帐户创建的用户组ID. 您可以在DRM-X帐户用户组列表中找到用户组ID。
Message 是DRM-X 许可证服务返回的许可证消息信息。
当您在代码中调用getLicenseRemote,并且提供正确的参数,它将给您返回许可证值。
下面是详细的步骤:
第一步:请在确认调用对象DRM-X Web服务地址,并查看:
http://www.drm-x.net/HaihaisoftLicenseService.asmx
第二步: 创建一个DRM登录页面,命名为drmlogin.jsp
下面是drmlogin.jsp代码(以下代码引用了类库:org.apache.axis.client.Service,org.apache.axis.client.Call,javax.xml.namespace.QName"%>)
<%@ page contentType="text/html; charset=GBK" language="java" %>
<%@pageimport="org.apache.axis.client.Service,org.apache.axis.client.Call,javax.xml.namespace.QName,org.apache.log4j.Level"%>
<%
String AdminEmail="
您登陆DRM-X帐户的邮件
";
String WebServiceAuthStr="
您
登录验证DRM-X许可证服务验证码
";
String ProfileID = request.getParameter("profileid");
out.println(ProfileID);
String ClientInfo = request.getParameter("clientinfo");
out.println(ClientInfo);
String RightsID = request.getParameter("rightsid");
out.println(RightsID);
String UserLoginName = "
数据库中的用户名
";
String UserFullName = "
用户名全名
";
String GroupID="
您在DRM-X帐户创建的用户组ID
";
//javax.xml.rpc.holders.StringHolder Message=new javax.xml.rpc.holders.StringHolder();
//Message="N/A";
String Message="";
String license = "0";
String IP=request.getRemoteAddr();
String namespace="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService";
try {
String endPoint="http://cn.drm-x.com/haihaisoftlicenseservice.asmx?wsdl";
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endPoint));
//call.setOperationName(newjavax.xml.namespace.QName("http://tempuri.org/SDRM/HaihaisoftDRMService","getLicenseRemote"));
call.setOperationName(newjavax.xml.namespace.QName("http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService","getLicenseRemote"));
call.addParameter(newQName(namespace,"AdminEmail"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"WebServiceAuthStr"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"ProfileID"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"ClientInfo"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"RightsID"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"UserLoginName"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"UserFullName"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"GroupID"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter(newQName(namespace,"Message"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.INOUT);
call.addParameter(newQName(namespace,"IP"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
//call.setSOAPActionURI("http://tempuri.org/SDRM/HaihaisoftDRMService/getLicense");
//call.setSOAPActionURI("http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/getLicenseRemot");
call.setSOAPActionURI("http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/getLicenseRemote");
/* license = (String)call.invoke(newObject[]{AdminEmail,WebServiceAuthStr,ProfileID,ClientInfo,RightsID,UserLoginName,UserFullName,GroupID,Message,IP}); */
Object[] param={newString(AdminEmail),new String(WebServiceAuthStr),newString(ProfileID),new String(ClientInfo),new String(RightsID),newString(UserLoginName),new String(UserFullName),new String(GroupID),newString(Message),new String(IP)};
license = (String)call.invoke(param);
out.println("AdminEmail is "+AdminEmail);
out.println("WebServiceAuthStr is "+WebServiceAuthStr);
out.println("ProfileID is "+ProfileID);
out.println("RightsID is "+RightsID);
out.println("UserLoginName is "+UserLoginName);
out.println("UserFullName is "+UserFullName);
out.println("GroupID is "+GroupID);
out.println("IP is "+IP);
out.println("==========="+Message);
out.println("==========="+license);
} catch (Exception e) {
e.printStackTrace();
}
if(license == null || license.equals("0")){
%>
license
<%
} else {
session.setAttribute("license", ""+license);
session.setAttribute("message", Message.value);
response.sendRedirect("licstore.jsp");
return ;
out.println("===");
}
%>
代码详解:在上面的代码中,我们主要工作是通过
request.getParameter
获取了
profileid,clientinfo,rightsid参数。这3个参数是通过海海软件全能播放器打开加密后的文件时,会用FORM Post的形式提供参数,
profileid,clientinfo,rightsid.
在提供了所有正确对应的参数后,通过调用license = (String)call.invoke(param);获取许可证license。
当用获得许可证license不是空的时候,我们就可以把license和返回的message消息用session存储。
session.setAttribute("license", ""+license);
session.setAttribute("message", Message.value);
并跳转到licstore.jsp将许可证和Message显示出来。
LicStore存储页面必须命名为LicStore,如果您采用PHP,JSP语言,则应该是LicStore.php或者LicStore.jsp。大小写不区分。
下面是licstore.jsp的代码:
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>licstore</title>
<%= session.getAttribute("license") %>"
</head>
<body bgcolor="#e8e8d8" class="content">
<%= session.getAttribute("Message") %>"
</body>
</html>
第三步: 运行 drmlogin.jsp 页. 因为在运行 drmlogin.jsp 页之前您需要DRM-X为您提供ProfileID,ClientInfo,RightsID参数,所以你需要打开你的加密后的文件来运行drmlogin.jsp。要让打开你的加密后的文件来运行drmlogin.jsp,您需要在DRM-X帐户->网站集成参数中设置许可证URL。 如果在运行时返回了Message和License 说明运行成功,否则检查所有参数,重新尝试打开你的加密后的文件来运行drmlogin.jsp。
第四步: 播放DRM-X加密受保护的文件.
打开你的加密后的文件,如果播放器播放按钮可以正常工作,说明许可证已经成功获取。否则请检查所有参数,参数需要和DRM-X帐户设置的完全匹配,重新尝试打开你的加密后的文件来运行drmlogin.jsp。
后续工作:
在您完成以上流程后,您可以在drmlogin.jsp前面添加验证用户名和密码登陆框,在您验证用户登陆信息,或者验证客户帐户余额,可以提示客户在线充值等,在您的系统中多种商业模式操作。
总之,DRM-X为您提供量身定做Web服务,它帮助您灵活的实现多种商业模式。您在验证客户信息后,调用DRM-X获取许可证。您一旦调用DRM-X Web 服务,DRM-X立即为您提供许可证,海海软件播放器就能够立即获取许可证开始播放内容。
感谢您的阅读,如果您遇到任何问题,欢迎您随时联系海海软件-全球数字版权管理产业领导者!