2017-09-25 12 views
0

変数(日付)をXMLポストに取得しようとしていますが、動作させることができません。 XML投稿では、2つの日付(vndg = todayとmorg = today + 1)を指定する必要があります。XMLで変数を解析するPowerShellでPOST要求

私のPowerShellスクリプトは、日付変数なしで動作します。

$vndg = (Get-Date).ToString("dd-MM-yyyy") 
$morg = (Get-Date).AddDays(+1).ToString("dd-MM-yyyy") 

[XML]$SOAP = @' 
<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <Clocking_GetByDateRangeUtc xmlns="http://www.geodynamics.be/webservices"> 
     <caller> 
     <CompanyName>companyname</CompanyName> 
     <LoginName>username</LoginName> 
     <Password>password</Password> 
     </caller> 
     <fromDateUtc>$vndg</fromDateUtc> 
     <toDateUtc>$morg</toDateUtc> 
    </Clocking_GetByDateRangeUtc> 
    </soap:Body> 
</soap:Envelope> 
'@ 

$headers = @{"SOAPAction" = "http://www.geodynamics.be/webservices/Clocking_GetByDateRangeUtc"} 
$destination = 'C:\Temp\GeoDynamics\Downloads\GeoPers.xml' 

$URI = "https://secure.geodynamics.be/webservices/intellitracer/1.0/IntegratorWebservice.asmx?WSDL" 
$out = Invoke-WebRequest $uri -Method Post -ContentType 'text/xml' -Body $SOAP -Headers $headers -OutFile $destination 
+0

'@ '...'' @ - > '@ "..."' –

+0

@私はそれを行う場合エラーが出る==>文字列'25 -09-2017 'は有効なAllXsd値ではありません。 –

+0

日付変数の形式を変更することによって、私はそれを動作させました。==> $ vndg =(取得日).ToString( "yyyy-MM-ddT00:00:00") $ morg =(取得日)。 AddDays(+1).ToString( "yyyy-MM-ddT00:00:00") –

答えて

0

私はそれが次のようにスクリプトを変更することにより、作業ました:

[XML]$SOAP = @" 
<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <Clocking_GetByDateRangeUtc xmlns="http://www.geodynamics.be/webservices"> 
     <caller> 
     <CompanyName>name</CompanyName> 
     <LoginName>login</LoginName> 
     <Password>password</Password> 
     </caller> 
     <fromDateUtc>$vndg</fromDateUtc> 
     <toDateUtc>$morg</toDateUtc> 
    </Clocking_GetByDateRangeUtc> 
    </soap:Body> 
</soap:Envelope> 
"@ 
関連する問題