zoukankan      html  css  js  c++  java
  • 用javascript调用WebService,RetrieveDynamicEntity的方式取出EntityProperty的Value


     

    function getDynamicEnitity(entityName, entityId,attributeNames)
    {
        
    var xml = "" + 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + 
    "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + GenerateAuthenticationHeader()+"  <soap:Body>" + 
    "    <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" + 
    "      <Request xsi:type=\"RetrieveRequest\" ReturnDynamicEntities=\"true\">" + 
    "        <Target xsi:type=\"TargetRetrieveDynamic\">" + 
    "          <EntityName>"+entityName+"</EntityName>" + 
    "          <EntityId>"+entityId+"</EntityId>" + 
    "        </Target>" + 
    "        <ColumnSet xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:ColumnSet\">" + 
    "          <q1:Attributes>" + 
    getAttributeNamesString(attributeNames)+
    "          </q1:Attributes>" + 
    "        </ColumnSet>" + 

    "      </Request>" + 
    "    </Execute>" + 
    "  </soap:Body>" + 
    "</soap:Envelope>" + 
    "";

    var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");

    xmlHttpRequest.Open(
    "POST""/mscrmservices/2007/CrmService.asmx"false);
    xmlHttpRequest.setRequestHeader(
    "SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");
    xmlHttpRequest.setRequestHeader(
    "Content-Type""text/xml; charset=utf-8");
    xmlHttpRequest.setRequestHeader(
    "Content-Length", xml.length);
    xmlHttpRequest.send(xml);

    var resultXml = xmlHttpRequest.responseXML;
    return resultXml;
    }

    function getEntityPropertyValue(resultXml, attributeName)
    {
    // Create an XML object to parse the results.
    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async
    =false;
    xmlDoc.loadXML(resultXml.xml);

    var ret=xmlDoc.selectSingleNode("//Property[@Name='"+attributeName+"']");

    //ret.text enough for return xml;
    //
    in other case this may not enough be careful for this.
    if (ret!=null)
      return ret.text;
    else
     return null;


    }
    function getAttributeNamesString(attributes)
    {
       
       
    var strRet="";
       
    for(i=0;i<attributes.length;i++)
      {
        strRet
    +=("<q1:Attribute>"+attributes[i]+"</q1:Attribute>") ;

        
      }
       
    return strRet;
    }

  • 相关阅读:
    源码安装extundelete以及对遇到问题的解决
    centos 连不上网
    memcache 永久数据被踢
    svn 分支
    HTML5 中已经可以用 Ajax 上传文件了,而且代码非常简单,借助 FormData 类即可发送文件数据。
    sublime安装DocBlockr注释插件
    rsync 无密码 传输
    滚动条滑到底部,加载更多
    svn 同步脚本
    蒲公英[分块]
  • 原文地址:https://www.cnblogs.com/janmson/p/1433685.html
Copyright © 2011-2022 走看看