2016-09-27 2 views
0

안녕하세요 저는 비누 전화 자바 프로젝트에서 일하고 있습니다. 내가 서버에서 비누 WSDL 파일을 추출하고 내 이클립스 java project.In 서버에서 토큰을 생성하기위한 비누 방법 중 하나는 로그온 이름의 비누 메서드에 사용자 이름과 암호를 전달해야합니다, 그리고 세션 토큰을 반환하지만 로그온 메소드는 "mode = Mode.OUT"및 일부 holder 요소를 사용하여 세션 토큰을 리턴합니다. 쿼리 \ 내가 좋아하는 코드를 작성하는 경우비누 전화에서 가치를 얻으십시오

 String sessiontoken =""; 
     String strLogin="admin"; 
     String strPassword="password"; 
     Element elemParameters= null ; 
     Holder<String> pstrSessionToken = new Holder<String>(); 
     Holder<Element> pSessionInfo = new Holder<Element>(); 
     Holder<String> pstrSecurityToken = new Holder<String>(); 

token_soap.logon(sessiontoken, strLogin, strPassword, elemParameters, pstrSessionToken, pSessionInfo, pstrSecurityToken); 

입니다 :

String res = token_soap.logon(sessiontoken, strLogin, strPassword, elemParameters, pstrSessionToken, pSessionInfo, pstrSecurityToken); 

다음 오류 "유형 불일치 : String으로 무효로 변환 할 수 없습니다"보여줍니다. 반환 할 pstrSessionToken의 값을 수집 할 수 없습니다.

내 전체 코드는 다음과 같습니다 로그온 문자열 값을 반환하지 않습니다 아마 발생

public static String s_tokencall(){ 
        XtkSession token = new XtkSession(); 
     SessionMethodsSoap token_soap = token.getSessionMethodsSoap(); 

     String sessiontoken =""; 
     String strLogin="admin"; 
     String strPassword="password"; 
     Element elemParameters= null ; 
     Holder<String> pstrSessionToken = new Holder<String>(); 
     Holder<Element> pSessionInfo = new Holder<Element>(); 
     Holder<String> pstrSecurityToken = new Holder<String>(); 
     String res = token_soap.logon(sessiontoken, strLogin, strPassword, elemParameters, pstrSessionToken, pSessionInfo, pstrSecurityToken); 
     System.out.println(pstrSecurityToken); 
     return null;} 

답변

0

이제는 다른 메서드로 String 홀더를 선언해야하며 로그온 함수는 호출시 String 변수를 업데이트합니다. 이 함수는 아무 것도 반환하지 않지만 실행될 때 변수를 업데이트합니다.

XtkSession token = new XtkSession(); 
      SessionMethodsSoap token_soap = token.getSessionMethodsSoap();   
      String sessiontoken = ""; 
      String strLogin = "admin"; 
      String strPassword = "password"; 
      xtk.session.Element elemParameters = new xtk.session.Element(); 
      Holder<String> pstrSessionToken = new Holder<String>(); 
      Holder<xtk.session.Element> pSessionInfo = null; 
      Holder<String> pstrSecurityToken = new Holder<String>(); 

      token_soap.logon(sessiontoken, strLogin, strPassword, elemParameters, pstrSessionToken, pSessionInfo, pstrSecurityToken); 

당신은 "pstrSessionToken.value"의 값을 얻을 것이다

0

귀하의 방법.

+0

예는 값을 반환하는 클래스 "LogonResponse"호출합니다. –

+0

게시물을 편집하고 전체 코드를 제공하십시오 – enigma969

+0

전체 코드가 게시되어 있습니다. –

관련 문제