Классы Salseforce Apex поддерживают аутентификацию Stache для оси Apache - PullRequest
0 голосов
/ 22 сентября 2011

Мы преобразовали файл WSDL веб-службы в верхние классы salesforce.Веб-служба получает учетные данные для аутентификации в формате имени пользователя и пароля заглушки Apache axis.

Ниже приведен пример имени пользователя и пароля для аутентификации заглушки оси Apache.

Service service = new  XYZServiceLocator();
URL endpointURL = new URL("https://urllink");
XYZServiceSoapBindingStub stub = new XYZServiceSoapBindingStub(endpointURL, service);
stub.setUsername("username");// void org.apache.axis.client.Stub.setUsername(String username)
stub.setPassword("password");// void org.apache.axis.client.Stub.setPassword(String Password)
QueryResponse qresp = stub.webServiceCall(qr);

У меня вопрос.Можем ли мы получить функциональность имени пользователя и пароля аутентификации заглушки Apache в классах Apex salesforce.

Поскольку заглушка Apex поддерживает проверку подлинности заголовков HTTP, поддерживает ли она также проверку подлинности заглушки оси Apache?

Ниже приведен код аутентификации заголовков HTTP заглушки Salesforce Apex

String myData = 'username:password';
Blob hash = Crypto.generateDigest('SHA1',Blob.valueOf(myData));
encodedusernameandpassword = EncodingUtil.base64Encode(hash);
XYZBillingStub.inputHttpHeaders_x.put('Authorization','Basic ' + encodedusernameandpassword );// SALESFORCE STUB
XYZBilling.query(queryReq )// Web Service call

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 21 октября 2011

Похоже, вы уже нашли решение.

Для справки взгляните на раздел Отправка HTTP-заголовков в выноске веб-службы онлайн-документации для выполнения основных заголовков аутентификации..

0 голосов
/ 23 сентября 2011

После преобразования апекс-кода в приведенный ниже код я успешно смог решить проблему.

String myData = 'username:password';
encodedusernameandpassword = EncodingUtil.base64Encode(Blob.valueOf(myData));
XYZBillingStub.inputHttpHeaders_x.put('Authorization','Basic ' + encodedusernameandpassword );// SALESFORCE STUB
XYZBilling.query(queryReq )// Web Service call

Это было простое пробное решение, которое я получил, и я думаю, что функциональность Salseforce apex поддерживает только процесс аутентификации входных HTTP-заголовков. Если у вас есть какой-то другой способ аутентификации, укажите это.

...