小程序模板網(wǎng)

微信小程序訪問webService(Java)

發(fā)布時間:2018-04-20 10:52 所屬欄目:小程序開發(fā)教程

文章作者:洛山紅茶的BLOG  

文章來源:http://85608547.blog.51cto.com/2093443/1932081

 

在前臺UI確認后,終于進入到后臺服務(wù)的搭建及實現(xiàn)中。所及而來的問題就出現(xiàn)了,為了提高后臺程序的可用性。設(shè)計初期決定,通過搭建java WebService實現(xiàn)。準(zhǔn)備工作還是比較充分的,創(chuàng)建WebService框架,實現(xiàn)接口方法。通過建立測試客戶端調(diào)用java WebService方法。以上內(nèi)容均已通過,就在最后通過微信小程序wx.request調(diào)用WebService接口時,問題出現(xiàn)了。標(biāo)準(zhǔn)的java WebService返回的為xml形式的soap描述文件,并非期待的json對象或json形式的字符串。為此尋覓很多同仁分享的解決方法,終沒有解決。就在昨天與妻子閑談生活瑣事時,突然給了我一些提示。自此將該問題迎刃而解。閑話少許進入正題。

準(zhǔn)備篇

1. java WebService 搭建。并實現(xiàn)測試接口和方法??梢酝ㄟ^瀏覽器進行驗證接口提供相關(guān)方法。

public class WxSmallProjectImpl implements IWxSmallProject {

	/**
	 * 模糊搜索 實現(xiàn) 查詢結(jié)果反饋
	 */
	@Override
	public String getSearchResult(String queryContent) {		// TODO Auto-generated method stub
		Common.ObjectToJson(new Object());
		String result="{\"count\":3,\"data\":[{\"text\":\"demo1\"},{\"text\":\"demo2\"},{\"text\":\"demo3\"}]}";		return result;
	}

}

2.通過測試客戶端(php)調(diào)用接口,輸出測試接口。如圖

 stream_context_create(                array(                    'ssl' => array(                        'verify_peer' => false,                        'verify_peer_name' => false,
                    )
                )
            )
        )
    );    //print_r($client->__getFunctions());
    //print_r($client->__getTypes());

 
   
   //調(diào)用 微信小程序 服務(wù)  成功調(diào)用
    $parm = array( 'queryContent'=>$xmlPara);    $result = $client->getSearchResult($parm);	

	

	echo(($result->return));
	
   

} catch (SOAPFault $e) {    print $e;
}	//include('test.html');?>

 

攻堅篇

1.微信小程序調(diào)用java Webservice聯(lián)調(diào)。通過截取res.data為xml形式的soap描述文件。如圖

這里的問題就出來了,返回的xml形式的字符串。因為微信小程序?qū)τ趚ml解析存在bug。造成無法利用window對象解析xml,不支持HTML標(biāo)簽的使用。問題找到,下面就是針對該問題解決。

解決方案說明

1.通過套用客戶端,在客戶端實現(xiàn)xml轉(zhuǎn)化為Json(字符串)。在這里就是把wx.request的url地址修改為php客戶端的引用地址即可。此種問題看似解決了問題,實際上是繞了彎路。此舉只是在與妻子閑聊時,突發(fā)奇想的解決方案。

2.借助github中各位大神,是否有關(guān)微信小程序xml解決的工具。果然找到了某位大神提供的開源項目中的某個方法。如圖

自此完成微信小程序調(diào)用java WebService(WSDL)的完整實現(xiàn)。天道酬勤,感謝期間一直給我提供技術(shù)支持的梁老師。希望能給大家有所幫助。如有問題歡迎大家留言或Email(willa_wuwei@hotmail.com)給我。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/23766.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×