从肥皂电话中获取价值

Get value from soap call

您好,我正在为 soap call 开发一个 java 项目。我已经从服务器中提取了 soap WSDL 文件并包含在我的 eclipse java project.In 中用于从服务器生成令牌的 soap 方法之一我需要将用户名和密码传递给名为 logon 的 soap 方法,并且它 return 是会话令牌,但是登录方法 return 使用 "mode=Mode.OUT" 和一些持有者元素的会话令牌。查询\是

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

然后显示错误 "Type mismatch: cannot convert from void to String"。我无法收集 pstrSessionToken 的值,它将 return.

我的完整代码是:

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

您的登录方法可能 return 不是字符串值。

它现在可以工作了,我们需要用不同的方法声明字符串持有者,登录函数将在调用时更新字符串变量。此函数不会 return 任何内容,但会在执行时更新变量。

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"

中的值