Big thanks to @JLattimer. He helped me figure our the error in my SOAP envelope.
In my last post, I was trying to retrieve FullName from Crm 2011’s web services via PowerShell. Below is the code to do that.
$xml = "<?xml version='1.0' encoding='utf-8'?>" $xml += "<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'>" $xml += "<soap:Body>" $xml += "<Retrieve xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services'>" $xml += "<entityName>contact</entityName>" $xml += "<id>12345678-1234-1234-1234-123456789012</id>" $xml += "<columnSet xmlns:q1='http://schemas.microsoft.com/xrm/2011/Contracts' xsi:type='q1:ColumnSet'>" $xml += "<q1:Columns xmlns:c='http://schemas.microsoft.com/2003/10/Serialization/Arrays'>" $xml += "<c:string>fullname</c:string>" $xml += "<c:string>telephone1</c:string>" $xml += "</q1:Columns>" $xml += "</columnSet>" $xml += "</Retrieve></soap:Body></soap:Envelope>" $url="http://crmserver.company.com/Organization/XRMServices/2011/Organization.svc/web" $http_request = New-Object -ComObject Msxml2.XMLHTTP $http_request.Open('POST', $url, $false) $http_request.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Retrieve"); $http_request.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); $http_request.setRequestHeader("Content-Length", $xml.length); $http_request.send($xml); $http_request.responseText [ xml ]$results=$http_request.responseXML.xml $ns = New-Object Xml.XmlNamespaceManager $results.NameTable $ns.AddNamespace( "b", "http://schemas.microsoft.com/xrm/2011/Contracts" ) $ns.AddNamespace( "c", "http://schemas.datacontract.org/2004/07/System.Collections.Generic" ) $FullName=$results.selectSingleNode("//b:KeyValuePairOfstringanyType[c:key='fullname']/c:value/text()",$ns).Value $Telephone=$results.selectSingleNode("//b:KeyValuePairOfstringanyType[c:key='telephone1']/c:value/text()",$ns).Value
Comments are closed.