2015-11-03 50 views
1

我試圖使用PowerShell(使用版本5.0)使用VIES Soap webservice檢查增值稅號碼。獲取'使用Powershell無法找到「checkVat」和參數計數錯誤與VIES SOAP服務使用Powershell

,我發現了以下錯誤:

'Cannot find an overload for "checkVat" and the argument count: "2".' 

從我WSDL文件看到,checkVat函數接受兩個字符串值,將countryCodevatNumber

這是代碼我使用:

$proxy = New-WebServiceProxy -Uri "http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl" 
Try{ 
    $response = $proxy.checkVat("ES","A28017895") 
    $response 
}Catch{ 
    $_.Exception.Message 
} 

是什麼造成的錯誤?

回答

0

好吧,checkVat函數需要更多的參數,您還需要使用[ref]關鍵字。這裏的一個工作示例:

$proxy.checkVat([ref]"ES",[ref]"A28017895", [ref]$true, [ref]"", [ref]"") 
+0

根據wsdl,該簽名匹配響應消息類型,而不是輸入參數。導致'New-WebProxyService'錯誤解釋的原因 –

+0

謝謝@jisaak。 – Fish

+0

感謝您的支持jisaak。 這不是沒有拋出一個錯誤,但仍然沒有完全理解幾件事: 1.你能幫忙解釋它說WSDL文件中'checkVat'function總共有五個參數嗎? 2.在回覆中('checkVatResponse'),我期待4到6個字段。最相關的是布爾型「有效」。我只在回覆中看到一個日期,我認爲這是日期。如何查看發送的增值稅是否有效? 3.'[ref]'代表什麼? 謝謝 – Fish