Add-Type -Path"C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll"
$xml = New-ObjectChilkat.Xml
$xml.Tag = "soap:Envelope"
$xml.AddAttribute("xmlns:soap","http://www.w3.org/2003/05/soap-envelope")
$xml.AddAttribute("xmlns:impl","urn:parameters.v3.ewr.ws.ssa.gov")
$xml.AddAttribute("xmlns:ns0","urn:skeleton.v3.ewr.ws.ssa.gov")
$xml.UpdateChildContent("soap:Header","")
$xml.UpdateChildContent("soap:Body|ns0:GetWageFileStatusRequest|impl:confirmationNumber","string")
# In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required.
$xml.EmitXmlDecl = $false
$soapRequestBody = $xml.GetXml()
$endpoint = "https://ws.ssa.gov/ewrwsv3/services/WageFileServices"
$soapAction = "getWageFileStatus"# For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
$contentType = "text/xml"
$http = New-ObjectChilkat.Http
$http.ClearHeaders()
$http.SetRequestHeader("Content-Type",$contentType)
$http.SetRequestHeader("SOAPAction",$soapAction)
$resp = $http.PostXml($endpoint,$soapRequestBody,"utf-8")
if ($http.LastMethodSuccess -eq $false) {
$($http.LastErrorText)
$("Failed to send SOAP request.")
exit
}
# Get the XML response body.
$responseXml = New-ObjectChilkat.Xml
$resp.GetBodyXml($responseXml)
$statusCode = $resp.StatusCode
$("response status code: " + $statusCode)
# If the status code does not indicate succcess, then show the response XML,
# which probably contains error information.if ($statusCode -ne 200) {
$($responseXml.GetXml())
exit
}
$($responseXml.GetXml())
# Parse the successful SOAP response XML.# This is a sample of the response XML, but the namespace prefixes will be different.
# We can parse the result using "*" for the namespace prefixes (see below).
$wfid = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:wfid")
$receiptYear = $responseXml.GetChildIntValue("*:Body|*:GetWageFileStatusResponse|*:receiptYear")
$version = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:version")
$receiptDate = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:receiptDate")
$statusCode = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:statusCode")
$statusDescription = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:statusDescription")
$statusDate = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:statusDate")
$filingMethod = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:filingMethod")
$w3Count = $responseXml.GetChildIntValue("*:Body|*:GetWageFileStatusResponse|*:w3Count")
$originalFilename = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:originalFilename")
$returnCode = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:returnCode")
$transactionTimestamp = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:transactionTimestamp")
$errorInfo = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:errorInfo")
$errorDateInfo = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:errorDateInfo")
$deprecationDate = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:deprecationDate")
$sunsetDate = $responseXml.GetChildContent("*:Body|*:GetWageFileStatusResponse|*:response|*:sunsetDate")