从肥皂呼叫中获取价值

时间:2016-09-27 09:57:57

标签: java web-services soap wsdl

您好我正在研究一个用于肥皂调用的java项目。我从服务器中提取了soap WSDL文件并包含在我的eclipse java项目中。在用于从服务器生成令牌的soap方法之一我需要将用户名和密码传递给名为logon的soap方法,然后返回会话令牌登录方法使用" 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);

然后显示错误&#34;类型不匹配:无法从void转换为String&#34;。我无法收集它将返回的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;}

2 个答案:

答案 0 :(得分:0)

发生登录的方法可能不会返回字符串值。

答案 1 :(得分:0)

现在我们需要使用不同的方法声明String holder,并且logon函数将更新调用时的String变量。此函数不会返回任何内容,但会在执行时更新变量。

bs=512 seek=2

您将获得“pstrSessionToken.value”

中的值