2013-07-21 138 views
0

我正在尝试在Microsoft Dynamic 2011中创建一个潜在客户。我已将我的PHP脚本连接到CRM,并获得了积极的反馈。通过PHP向CRM2011发送SOAP请求

我已经使用Fiddler获取用于在CRM2011中创建潜在顾客的肥皂代码。但是,当我通过我的PHP脚本使用相同的代码时,我会返回'​​false'。

,我已经发现了肥皂代码如下:

<s:Body> 
     <Execute xmlns="http://schemas.microsoft.com/crm/2009/WebServices"> 
       <command>1</command> 
       <commandXml> 
        <Input> 
         <id>{00000000-0000-0000-0000-000000000000}</id> 
         <name>lead</name> 
         <formId>e3b6ddb7-8df0-4410-ac7b-fd32e5053d38</formId> 
         <dataxml> 
          <lead> 
           <leadqualitycode>2</leadqualitycode> 
           <statuscode>1</statuscode> 
           <ownerid type="8" name="Vlad Hercules">{6710C3A0-6EE9-E211-B17C-984BE16D3DAA}</ownerid> 
           <decisionmaker>0</decisionmaker> 
           <salesstage>0</salesstage> 
           <subject>subject</subject> 
           <lastname>vladislav</lastname> 
           <transactioncurrencyid type="9105" name="usd">{5B1C0B98-6CE9-E211-8B44-984BE17C9A7B}</transactioncurrencyid> 
           <preferredcontactmethodcode>1</preferredcontactmethodcode> 
           <donotemail>0</donotemail> 
           <donotbulkemail>0</donotbulkemail> 
           <donotphone>0</donotphone> 
           <donotpostalmail>0</donotpostalmail> 
           <donotsendmm>0</donotsendmm> 
          </lead> 
         </dataxml> 
         <associations></associations> 
        </Input> 
       </commandXml> 
      </Execute> 
     </s:Body> 
    </s:Envelope> 

如何这个问题得到解决?我可以在哪里获得关于请求的外观的信息?

这是由微软提供的示例返回假的,当我尝试了:

<Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services"> 
        <entity xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
         <b:Attributes xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> 
          <b:KeyValuePairOfstringanyType> 
           <c:key>name</c:key> 
           <c:value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Newer Corporation</c:value> 
          </b:KeyValuePairOfstringanyType> 
         </b:Attributes> 
         <b:EntityState i:nil="true"/> 
         <b:FormattedValues xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/> 
         <b:Id>00000000-0000-0000-0000-000000000000</b:Id> 
         <b:LogicalName>account</b:LogicalName> 
         <b:RelatedEntities xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/> 
        </entity> 
        </Create> 

回答

1

我不完全在CRM2011 SOAP的专家呼吁,所以我还没有看到这种类型的查询之前,不过,我想建议您尝试使用类似于以下内容的内容。

<Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <entity xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts"> 
     <a:Attributes xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>leadqualitycode</b:key> 
      <b:value i:type="a:OptionSetValue"> 
       <a:Value>2</a:Value> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>statuscode</b:key> 
      <b:value i:type="a:OptionSetValue"> 
       <a:Value>1</a:Value> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>ownerid</b:key> 
      <b:value i:type="a:EntityReference"> 
       <a:Id>{6710C3A0-6EE9-E211-B17C-984BE16D3DAA}</a:Id> 
       <a:LogicalName>systemuser</a:LogicalName> 
       <a:Name i:nil="true" /> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>decisionmaker</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>salesstage</b:key> 
      <b:value i:type="a:OptionSetValue"> 
       <a:Value>0</a:Value> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>subject</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:string">subject</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>lastname</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:string">vladislav</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>transactioncurrencyid</b:key> 
      <b:value i:type="a:EntityReference"> 
       <a:Id>{5B1C0B98-6CE9-E211-8B44-984BE17C9A7B}</a:Id> 
       <a:LogicalName>transactioncurrency</a:LogicalName> 
       <a:Name i:nil="true" /> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>preferredcontactmethodcode</b:key> 
      <b:value i:type="a:OptionSetValue"> 
       <a:Value>1</a:Value> 
      </b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>donotemail</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>donotbulkemail</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>donotphone</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>donotpostalmail</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     <a:KeyValuePairOfstringanyType> 
      <b:key>donotsendmm</b:key> 
      <b:value xmlns:c="http://www.w3.org/2001/XMLSchema" i:type="c:boolean">0</b:value> 
     </a:KeyValuePairOfstringanyType> 
     </a:Attributes> 
     <a:EntityState i:nil="true" /> 
     <a:FormattedValues xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" /> 
     <a:Id>00000000-0000-0000-0000-000000000000</a:Id> 
     <a:LogicalName>lead</a:LogicalName> 
     <a:RelatedEntities xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" /> 
    </entity> 
</Create> 
+0

此答案似乎无效。但是,您是如何提出这种解决方案的? – user1652382

+0

@ user1652382此代码有效。我在测试之前对它进行了测试。 有几个例子,我发现有用的。当你说它返回“false”时,你如何得到这个结果?您应该能够阅读应该告诉您它是否成功的SOAP响应。 我已经开始在这里记录一些SOAP-CRM的东西 http://crmtroubleshoot.blogspot.com.au/2013/07/dynamics-crm-2011-php-and-soap-using.html 你用什么方法调用你的SOAP? 什么认证类型? – Campey

+0

@ user1652382您现在是否已成功处理上述请求? – Campey