簡體   English   中英

從電話會議中獲取價值

[英]Get value from soap call

嗨,我正在一個肥皂項目的Java項目。 我從服務器中提取了SOAP WSDL文件,並將其包含在我的eclipse java項目中。在一種從服務器生成令牌的soap方法中,我需要將用戶名和密碼傳遞給一個名為logon的soap方法,但是它返回會話令牌。登錄方法使用“ mode = Mode.OUT”和某些holder元素返回會話令牌。 查詢\\ is

        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);

然后顯示錯誤“類型不匹配:無法從void轉換為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;}

您進行登錄的方法可能不會返回字符串值。

現在要正常工作,我們需要使用不同的方法聲明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”中獲得該值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM