You need to sign in to do that
Don't have an account?
satheeshrsk
global public with sharing class HttpCallout_CLS {
Public static void sendRequest(){
String API_KEY = 'XXX';
'<sch:searchBy>companyName</sch:searchBy>'+
'<sch:returnSearchNavigation>false</sch:returnSearchNavigation>'+
'<sch:orderBy xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>'+
'<sch:searchNavigation>'+
'<sch:employeeSearchNavigation>'+
'</sch:employeeSearchNavigation>'+
'<sch:ownershipTypeSearchNavigation>'+
'</sch:ownershipTypeSearchNavigation>'+
'<sch:locationTypeSearchNavigation>'+
'</sch:locationTypeSearchNavigation>'+
'<sch:salesSearchNavigation>'+
'</sch:salesSearchNavigation>'+
'<sch:locationSearchNavigation>'+
'<sch:countryNavigation>'+
'<sch:countryNavigationValue>${#Project#countryNavigationValue}</sch:countryNavigationValue>'+
'<sch:stateNavigation>'+
'<sch:stateNavigationValue>${#Project#stateNavigationValue}</sch:stateNavigationValue>'+
'<sch:cityNavigation>'+
'<sch:cityNavigationValue>${#Project#cityNavigationValue}</sch:cityNavigationValue>'+
'</sch:cityNavigation>'+
'</sch:stateNavigation>'+
'</sch:countryNavigation>'+
'</sch:locationSearchNavigation>'+
'<sch:industrySearchNavigation>'+
'</sch:industrySearchNavigation>'+
'</sch:searchNavigation>'+
'</sch:FindCompanyByKeywordRequest>'+
'</soapenv:Body>'+
'</soapenv:Envelope>';
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint('http://hapi.hoovers.com/HooversAPI-32');
req.setMethod('POST');
req.setBody(env);
req.setTimeout(12000);
String authorizationHeader = 'BASIC ' + EncodingUtil.base64Encode(headerValue);
500, internal server error
Hi,
I am trying to make a callout from APEX to an HTTP endpoint(Hoover's API) but am receiving the following error:
500, internal server error'.
Here is my Apex class :
global public with sharing class HttpCallout_CLS {
Public static void sendRequest(){
String API_KEY = 'XXX';
String env;
env = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://applications.dnb.com/webservice/schema/">'+
'<soapenv:Header>'+
env = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://applications.dnb.com/webservice/schema/">'+
'<soapenv:Header>'+
'<sch:API-KEY>XXX</sch:API-KEY>'+
'</soapenv:Header>'+
'<soapenv:Body>'+
'<sch:FindCompanyByKeywordRequest>'+
'<sch:sortDirection>Ascending</sch:sortDirection>'+
'</soapenv:Header>'+
'<soapenv:Body>'+
'<sch:FindCompanyByKeywordRequest>'+
'<sch:sortDirection>Ascending</sch:sortDirection>'+
'<sch:keyword>xyz</sch:keyword>'+
- Hide quoted text -
'<sch:searchBy>companyName</sch:searchBy>'+
'<sch:returnSearchNavigation>false</sch:returnSearchNavigation>'+
'<sch:orderBy xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>'+
'<sch:searchNavigation>'+
'<sch:employeeSearchNavigation>'+
'</sch:employeeSearchNavigation>'+
'<sch:ownershipTypeSearchNavigation>'+
'</sch:ownershipTypeSearchNavigation>'+
'<sch:locationTypeSearchNavigation>'+
'</sch:locationTypeSearchNavigation>'+
'<sch:salesSearchNavigation>'+
'</sch:salesSearchNavigation>'+
'<sch:locationSearchNavigation>'+
'<sch:countryNavigation>'+
'<sch:countryNavigationValue>${#Project#countryNavigationValue}</sch:countryNavigationValue>'+
'<sch:stateNavigation>'+
'<sch:stateNavigationValue>${#Project#stateNavigationValue}</sch:stateNavigationValue>'+
'<sch:cityNavigation>'+
'<sch:cityNavigationValue>${#Project#cityNavigationValue}</sch:cityNavigationValue>'+
'</sch:cityNavigation>'+
'</sch:stateNavigation>'+
'</sch:countryNavigation>'+
'</sch:locationSearchNavigation>'+
'<sch:industrySearchNavigation>'+
'</sch:industrySearchNavigation>'+
'</sch:searchNavigation>'+
'</sch:FindCompanyByKeywordRequest>'+
'</soapenv:Body>'+
'</soapenv:Envelope>';
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint('http://hapi.hoovers.com/HooversAPI-32');
req.setMethod('POST');
req.setBody(env);
req.setTimeout(12000);
Blob headerValue = Blob.valueOf(API_KEY);
String authorizationHeader = 'BASIC ' + EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization',authorizationHeader)
;
HTTPResponse res = h.send(req);
System.debug(res.getBody());
}
}
HTTPResponse res = h.send(req);
System.debug(res.getBody());
}
}
I tried with username and password also, even though i'm facing the same issue. Has anyone experienced anything similar to this?. Any help must be appreciated.
Thanks Inadvance,
Satheesh
open your URL it through..normal..IE..I think that URL will be prohibited..and restricted that's why it occours..
I'm guessing you have registered the endpoint URL in the Remote Site Settings whitelist. It wouldn't cause a HTTP500 error, but might be worth checking.
Thank you for your response.
I have already registered the URL in Remote Site Settings.
Regards,
Satheesh
Hi Satheesh,
Try to set the content type as below.
req.setHeader('content-type', 'text/XML');
Set the username, password and the API Key as follows.
Blob headerValue = Blob.valueOf(API_KEY+ ' ' + username + ' ' + password );
This will resolve the 500 issue.