我正在尝试将身份验证信息插入到要执行的标头请求中 一种较旧的基于SOAP的.Net服务(.asmx)。我在NetBeans 8.1下使用了ws-input 导入wsdl并生成对客户端的调用,但无法查看如何插入 标题信息。我尝试了以下方法来插入标头信息, 但Web服务返回一个错误,表明它没有看到身份验证。 有什么想法吗?
try
{
com.CompanyService.api.CompanyServiceApi service = new com.CompanyService.api.CompanyServiceApi();
com.CompanyService.api.CompanyServiceApiSoap port = service.getCompanyServiceApiSoap();
Map<String, Object> req_ctx = ((BindingProvider) port).getRequestContext();
req_ctx.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://api.CompanyService.com/CompanyServiceApi.asmx");
Map<String, List<String>> headers = new HashMap<String, List<String>>();
headers.put("LoginName", Collections.singletonList("WebService"));
headers.put("Username", Collections.singletonList("xxxxxxx"));
req_ctx.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
res = port.getCustomers(getCustomersRequest);
}
catch (Exception e) {
System.out.println("Error");
}