我正在尝试在 ASP.NET 应用程序中使用 Despatch Bay 运输 API,但它们的所有示例代码都在 PHP 中。
我以前使用过 Web 服务,但无法将凭据传递给它。
PHP 示例代码创建了一个新的 API 实例,如下所示:
$soapOptions = array ('login' => APIUSER, 'password' => APIKEY);
$DespatchBay = new SoapClient("http://api.despatchbaypro.com/api/soap/v10/addressing?wsdl",$soapOptions);
使用 Visual Web developer Express,我向我的项目添加了服务引用,现在可以创建如下实例:
Dim dbService As New DespatchBayAddresses.AddressingServicePortTypeClient
并尝试从邮政编码中写出地址,如下所示:
Response.Write(dbService.GetDomesticAddressKeysByPostcode("INSERT POSTCODE").ToString())
但是,很自然地,我得到一个错误:
The remote server returned an error: (401) Unauthorized.
我知道为什么,因为我没有通过我的API_KEY
或API_USER
凭据。
但是,我确信我很愚蠢,但不知道怎么做。
我试过了
dbService.ClientCredentials.UserName.UserName = MY_USER
dbService.ClientCredentials.UserName.Password = MY_KEY
但同样的错误。我需要能够从从我的数据库中检索到的变量中传递这些值,而不是 web.config 中的静态值,所以有人可以指点我将这些详细信息传递给 API 的方向吗?
谢谢