soap toolkit是一款功能非常強(qiáng)大用來創(chuàng)建web服務(wù)的工具。東坡為您帶來的是soap toolkit官方最新版,它的最大的特色在于,即使你不會(huì)專業(yè)的SOAP或XML的復(fù)雜知識(shí),也可以創(chuàng)建web服務(wù)。有需要的朋友,趕快下載體驗(yàn)吧!
soap toolkit是什么
SOAP介紹
SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡(jiǎn)單的、基于XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)的協(xié)議,它被設(shè)計(jì)成在WEB上交換結(jié)構(gòu)化的和固化的信息。
SOAP相關(guān)定義
基于類對(duì)象的傳輸協(xié)議。

SOAP封裝(envelop),它定義了一個(gè)框架,描述消息中的內(nèi)容是什么,是誰(shuí)發(fā)送的,誰(shuí)應(yīng)當(dāng)接受并處理它以及如何處理它們;
SOAP編碼規(guī)則(encoding rules),它定義了一種序列化機(jī)制,用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實(shí)例;
SOAP RPC表示(RPC representation),它定了一個(gè)協(xié)定,用于表示遠(yuǎn)程過程調(diào)用和應(yīng)答;
SOAP綁定(binding),它定義了SOAP使用哪種協(xié)議交換信息。使用HTTP/TCP/UDP協(xié)議都可以。
把SOAP綁定到HTTP提供了同時(shí)利用SOAP的樣式和分散的靈活性的特點(diǎn)以及HTTP的豐富的特征庫(kù)的優(yōu)點(diǎn)。在HTTP上傳送SOAP并不是說SOAP會(huì)覆蓋現(xiàn)有的HTTP語(yǔ)義,而是HTTP上的SOAP語(yǔ)義會(huì)自然的映射到HTTP語(yǔ)義。在使用HTTP作為協(xié)議綁定的場(chǎng)合中,RPC請(qǐng)求映射到HTTP請(qǐng)求上,而RPC應(yīng)答映射到HTTP應(yīng)答。然而,在RPC上使用SOAP并不僅限于HTTP協(xié)議綁定。
用SOAP方式調(diào)用webservice
由于另外系統(tǒng)用的是Microsoft SOAP Toolkit 工具發(fā)布的webservice。對(duì)應(yīng)的調(diào)用方式也只能采用SOAP方式。
1. 下載jar包。
2. 代碼示例。
import java.net.URL;
import java.util.Vector;
import nc.bs.logging.Logger;
import nc.vo.levmpub.card.WebServiceConst;
import nc.vo.levmpub.card.WebServiceParamVO;
import nc.vo.pub.BusinessException;
import org.apache.soap.Constants;
import org.apache.soap.Fault;
import org.apache.soap.encoding.SOAPMappingRegistry;
import org.apache.soap.encoding.soapenc.StringDeserializer;
import org.apache.soap.rpc.Call;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
import org.apache.soap.transport.http.SOAPHTTPConnection;
import org.apache.soap.util.xml.QName;
/**
*
* <b> 訪問散裝控制系統(tǒng)WebService(采用SOAP方式) </b>
* <p>
* 詳細(xì)描述功能
* </p>
* @since
* 創(chuàng)建日期:2013-11-26
* @author
*/
public class WebServiceWrapper {
public String callWebServiceMethod(WebServiceParamVO paramVO)
throws BusinessException {
String returnValue = null;
try {
returnValue = callMethod(paramVO);
} catch (Exception e) {
throw new BusinessException("調(diào)用散裝控制系統(tǒng)接口出現(xiàn)錯(cuò)誤: " + e.getMessage());
}
return returnValue;
}
/**
* 由于散裝控制系統(tǒng)的wsdl是用Microsoft SOAP Toolkit自動(dòng)生成的,只能通過soap方式訪問接口
*
* @param paramVO
* @throws Exception
*/
private String callMethod(WebServiceParamVO paramVO) throws Exception {
SOAPMappingRegistry smr = new SOAPMappingRegistry();
StringDeserializer sd = new StringDeserializer();
smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "Result"), null,
null, sd);
// 創(chuàng)建傳輸路徑和參數(shù)
SOAPHTTPConnection st = new SOAPHTTPConnection();
// 創(chuàng)建調(diào)用
Call call = new Call();
call.setSOAPTransport(st);
call.setSOAPMappingRegistry(smr);
call.setTargetObjectURI(paramVO.getTargetObjectURI());
call.setMethodName(paramVO.getMethodName());
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Vector<Parameter> params = getParameter(paramVO);
call.setParams(params);
URL url = new URL(paramVO.getWsdlUrl());
Response resp = call.invoke(url, paramVO.getSoapAction());
if (resp == null) {
return null;
}
if (resp.generatedFault()) {
Fault fault = resp.getFault();
Logger.error(fault.toString());
throw new BusinessException(fault.getFaultString());
}
Parameter ret = resp.getReturnValue();
Object value = ret.getValue();
return (String)value;
}
private Vector<Parameter> getParameter(WebServiceParamVO paramVO) {
Vector<Parameter> params = new Vector<Parameter>();
params.addElement(new Parameter(WebServiceConst.CUSERNAME,
String.class, paramVO.getUserName(), null));
params.addElement(new Parameter(WebServiceConst.CPASSWORD,
String.class, paramVO.getPassword(), null));
params.addElement(new Parameter(WebServiceConst.NTYPE, Integer.class,
paramVO.getNtype(), null));
params.addElement(new Parameter(WebServiceConst.CCARNO, String.class,
paramVO.getCarno(), null));
params.addElement(new Parameter(WebServiceConst.CCKBM, String.class,
paramVO.getStorcode(), null));
params.addElement(new Parameter(WebServiceConst.CCHBM, String.class,
paramVO.getInvcode(), null));
return params;
}
}

- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版
















Apifox(Api調(diào)試管理工具)2.1.29.1 綠色版
小烏龜代碼管理工具(TortoiseGit)2.13.0.1 中文免費(fèi)版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby運(yùn)行環(huán)境)3.0.2 官方版
gcc編譯器( MinGW-w64 9.0.0綠色版)免費(fèi)下載
寶玉編輯助手0.0.05新版
火花編程軟件2.7.2 官方pc版
猿編程少兒班客戶端3.1.1 官方版
Restorator 2009中文版單文件漢化版
十六進(jìn)制閱讀小工具
IT碼農(nóng)工具軟件1.0 中文免費(fèi)版
Postman Canary(網(wǎng)頁(yè)調(diào)試軟件)官方版7.32.0綠色免費(fèi)版
大耳猴少兒編程客戶端1.1.2 官方免費(fèi)版
excel批量sql語(yǔ)句(通過excel構(gòu)建sql工具)1.0 免費(fèi)版
軟件添加彈窗和網(wǎng)址工具1.0 中文免費(fèi)版
天霸編程助手2.1 單文件中文版
ida pro 中文破解版(反編譯工具)7.0 永樂漢化版64位
VBA代碼助手3.3.3.1官方版
JDK 12 linux版for 64位
Samba(完全支持Python 3)4.10 官方最新版
猿編程電腦端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可視化編輯器1.2 簡(jiǎn)體中文免費(fèi)版
Python代碼生成器1.0 中文免費(fèi)版
C語(yǔ)言代碼實(shí)例助手1.0 免費(fèi)版
notepad++7.8.2 中文免費(fèi)版




系統(tǒng)自帶的命令行幫助文件(ntcmds.chm)chm格
Excel轉(zhuǎn)換XML工具1.0 免費(fèi)版
實(shí)體類SQL生成工具1.0 綠色免費(fèi)版
XML字符串解析工具2.0.3 免費(fèi)版
VC++Spelly(代碼拼寫檢查)3.0.1 官方最新版
易語(yǔ)言vc6迷你連接器【dos命令形式運(yùn)行】綠
Elastix 20163.0 免費(fèi)版
sql語(yǔ)法分析器(sql語(yǔ)法分析工具)3.1.0 綠色
dev c++下載(DEV-C++)5.9.2 多語(yǔ)安裝免費(fèi)版
vc字體設(shè)置工具(vc6字體設(shè)置工具)1.0 中文綠