2015-01-20 1 views
0

Я пытаюсь использовать писец для реализации 2-х нотного OAuth в Java со ссылкой на php-код. Я считаю, что я очень близок к этому. Моя текущая ошибка:2 legged OAuth с использованием Scribe - java-эквивалент php

** OAuth - response.getBody: Проблема: signature_invalid | Советы:> |

response.getCode(): 200 **

Я подозреваю, что это что-то делать с формой маркеров или отсутствия потребительского объекта при подписании запроса. В PHP код:

$consumer = new OAuthConsumer($consumer_key, $consumer_secret); 

//post transaction to pesapal 

$iframe_src = OAuthRequest::from_consumer_and_token($consumer, $token, "GET", $iframelink, $params); 
$iframe_src->set_parameter("oauth_callback", $callback_url); 
$iframe_src->set_parameter("pesapal_request_data", $post_xml); 
**$iframe_src->sign_request($signature_method, $consumer, $token);** 

Из последней строки, подписать заявление, потребитель также передается в качестве параметра.

Мой код выглядит следующим образом:

OAuthService service = new ServiceBuilder() 
     .provider(something.class) 
     .signatureType(SignatureType.QueryString) 
     .apiKey(consumer_key) 
     .apiSecret(consumer_secret) 
     .callback(callback_url) 
     .build(); 

Token token = new Token("", ""); 

OAuthRequest request = new OAuthRequest(Verb.GET, iframelink); 

request.addBodyParameter("pesapal_request_data", post_xml); 
request.addOAuthParameter(OAuthConstants.SIGN_METHOD, signature_method); 
service.signRequest(token, request); 

Response response = request.send(); 

Может кто-то пожалуйста, покажите мне, где я, возможно, пошло не так? Я знаю, что я близко - очень близко ....

+0

У меня трещина, я сделал то же самое – Killer

ответ

0

Попробуйте изменить $ iframelink = http://www.pesapal.com/api/PostPesapalDirectOrderV4 до $ iframelink = https://www.pesapal.com/api/PostPesapalDirectOrderV4

Если бы один и тот же вопрос, когда жить меняется от HTTP к HTTPS отсортирован меня ,

+0

Я все еще использую демо, и ваше предложение там не сработало. – Okello