[英]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.