Add-Type -Path"C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll"
$xml = New-ObjectChilkat.Xml
$xml.Tag = "soapenv:Envelope"
$xml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
$xml.AddAttribute("xmlns","http://fina.hr/eracun/b2g/invoicewebservicecomponents/v0.1")
$xml.AddAttribute("xmlns:v0","http://fina.hr/eracun/b2g/sync/GetB2GIncomingInvoiceList/v0.1")
$xml.AddAttribute("xmlns:b2gEracImpl","http://fina.hr/eracun/b2g/ws/erp/v0.1")
$xml.UpdateChildContent("soapenv:Header","")
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|HeaderBuyer|MessageID","string")
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|HeaderBuyer|BuyerID","string")
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|HeaderBuyer|AdditionalBuyerID","string")
$xml.UpdateChildContentInt("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|HeaderBuyer|MessageType",123)
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|HeaderBuyer|MessageAttributes","string")
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|v0:Data|v0:B2GIncomingInvoiceList|v0:DocumentCurrencyCode","true")
$xml.UpdateChildContent("soapenv:Body|v0:GetB2GIncomingInvoiceListMsg|v0:Data|v0:B2GIncomingInvoiceList|Filter","")
# 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://prez.fina.hr/B2GFinaInvoiceWebService/services/B2GFinaInvoiceWebService"
$soapAction = "http://fina.hr/eracun/b2g/GetB2GIncomingInvoiceList"# 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).
$Envelope_xmlns = $responseXml.GetAttrValue("xmlns")
$MessageID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|MessageID")
$MessageAckID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|MessageAckID")
$MessageType = $responseXml.GetChildIntValue("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|MessageType")
$AckStatus = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|AckStatus")
$AckStatusCode = $responseXml.GetChildIntValue("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|AckStatusCode")
$AckStatusText = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|MessageAck|AckStatusText")
$XMLStandard = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|DocumentType|XMLStandard")
$SpecificationIdentifier = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|DocumentType|SpecificationIdentifier")
$DocumentTypeCode = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|DocumentType|DocumentTypeCode")
$DocumentTypeText = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|DocumentType|DocumentTypeText")
$StatusCode = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|InvoiceStatus|StatusCode")
$CodeReason = $responseXml.GetChildIntValue("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|InvoiceStatus|CodeReason")
$Note = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|InvoiceStatus|Note")
$PartialAmount = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|InvoiceStatus|PartialAmount")
$DocumentCurrencyCode = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|InvoiceStatus|DocumentCurrencyCode")
$SupplierID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:SupplierID")
$AdditionalSupplierID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:AdditionalSupplierID")
$SupplierRegistrationName = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:SupplierRegistrationName")
$SupplierCompanyID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:SupplierCompanyID")
$InvoiceID = $responseXml.GetChildIntValue("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:InvoiceID")
$SupplierInvoiceID = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:SupplierInvoiceID")
$DataInterchangeMethod = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:DataInterchangeMethod")
$InvoiceIssueDate = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:InvoiceIssueDate")
$InvoiceDate = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:InvoiceDate")
$InvoiceTimestamp = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:InvoiceTimestamp")
$InvoicePayableAmount = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:InvoicePayableAmount")
$DocumentCurrencyCode = $responseXml.GetChildContent("*:Body|*:GetB2GIncomingInvoiceListAckMsg|*:B2GIncomingInvoiceList|*:B2GIncomingInvoice|*:DocumentCurrencyCode")