2013-02-01 2 views
4

처음 업로드되었습니다. 이 질문은 다른 아직 해결되지 않은 질문과 비슷합니다. call to magento soap api expires immediatelymagento xmlrpc 세션이 즉시 만료됩니다.

XMLRPC 기반 클라이언트 - 서버 모듈에서 작업하고 있습니다. Magento 기반 서버에는 Java 기반 클라이언트에 노출 된 몇 가지 API 메소드가 있습니다. 클라이언트에서 표준 Java XMLRPC Jars를 사용합니다.

세션을 검색하는 "로그인"호출이 있습니다. 나는 다른 호출을하기 위해 이것을 주변에 전달한다. 나는 이것이 유효한 세션을 반환하는 것을 확인했다.

Object result1 = client.execute("login", ob1); 
session = (String) result1; 

나는이 세션을 사용하여 만드는 다음 호출은,하지만, 실패 :

내가 확인한 무엇
org.apache.xmlrpc.XmlRpcException: Session expired. Try to relogin. 

: 높은에

  • 젠토에서 세션 시간 제한 설정 값
    • 이것은 작동하지 않습니다.
  • 는 서버 시간 설정이이
    • 괜찮 확인합니다. API 사용자를 확인
  • 는 젠토
    • 네에서 "활성"입니다.
  • 확인
    • 은 아래를 참조 세션 해시에 대한 api_session 테이블.

api_session 테이블

  • 이 내 현재 세션 해시가 없습니다.
  • 또한 11 개의 항목 만 있습니다. 나는 적어도 50 번 이상 로그인했다.
  • 세션 로그 시간은 select CURRENT_TIME
    • 업데이트에서 크게 다를 : 이것은 (MySQL은 GMT에 기록되어있다) 관계가
    • 여기

은 내가 볼 것입니다 : 음, 어디

mysql> select * from api_session limit 50; 
+---------+---------------------+----------------------------------+ 
| user_id | logdate    | sessid       | 
+---------+---------------------+----------------------------------+ 
|  5 | 2013-02-01 16:01:49 | 9099b50 
|  5 | 2013-02-01 16:02:10 | 7312c1a 
|  5 | 2013-02-01 16:05:43 | a6ce30c 
+---------+---------------------+----------------------------------+ 
11 rows in set (0.00 sec) 

mysql> select CURRENT_TIME; 
+--------------+ 
| CURRENT_TIME | 
+--------------+ 
| 14:58:03  | 
+--------------+ 

답변

1

.... 이것은 보안에 대한 내 자신의 필요 때문일 수 있습니다. 나는 로그인 방법 char 배열을 통과 한 조언이 글을 추천 Irretrievably destroying data in Java

:

위의 실패에서 내 로그인 방법은이 문서에서 팁을했다.결국 궁극적으로 빈 자격 증명이 login 메서드에 전달되었습니다.

익숙하지 않을 수 있습니다 사람들에게 흐름이 호출되는

  • 로그인 방법이 내가 로그에 입력을 쏟아
  • Mage/Api/Model/Session.php의 로그인 메소드를 호출 Mage/Api/Model/Server/Handler/Abstract.php
  • 에, 그들은 온 빈.

문자열을 메서드에 직접 전달하는 내 일반적인 비보안 방법을 사용했습니다. 그게 효과가 있었어!

편집 : 물론 이것은 단점을 가지고 있습니다. char [] 배열 대신 문자열을 사용합니다. 어떻게하는지 알아 내면 대답을 업데이트 할 것입니다.

+0

질문에 '답변 됨'으로 표시하십시오. – thaJeztah

+0

물론. 나는 XMLRPC 호출에 char [] 배열을 전달하는 방법을 찾고 싶었습니다. (그리고 이전에 가지고 있던 보안을 유지했습니다.) 그것은 또 다른 날이되어야 할 것이다. – Vish

+0

업데이트 : 지금부터 2 일 내 답변을 수락 할 수 있습니다. – Vish

관련 문제