soap toolkit
soap toolkit是用于创建web服务的非常强大的工具。 东坡给你带来了soap toolkit官方最新版。 它的最大特色是无需专业的SOAP或XML复杂知识就可以创建web服务。 我有需要的朋友。 快下载体验吧。
soap toolkit是什么
SOAP介绍
简单对象访问协议( soap )是一种用于数据交换的协议规范,是一种轻量级、简单的基于XML ( XML )的协议,旨在在WEB上交换结构化和固化信息。
SOAP相关定义
基于类对象的传输协议。
SOAP封装( envelop )定义了一个框架,说明消息内容是什么、是谁发送的、应该由谁接受和处理,以及如何处理。
SOAP编码规则( encoding rules )定义了一种序列化机制,该机制表示APP应用程序必须使用的数据类型的实例。
soapRPC(RPCrepresentation )定义了表示远程过程调用和响应的协议。
SOAP绑定。 定义SOAP使用什么协议交换信息。 也可以使用HTTP/TCP/UDP协议。
将SOAP绑定到HTTP提供了同时利用SOAP风格和分布式灵活性的特点和HTTP丰富特征库的优点。 在HTTP中传输SOAP并不是指SOAP覆盖现有的HTTP语义,而是HTTP上的SOAP语义自然地映射到HTTP语义。 如果使用HTTP作为协议绑定,则RPC请求映射到HTTP请求,而RPC响应映射到HTTP响应。 但是,在RPC中使用SOAP不仅仅是HTTP协议绑定。
用SOAP方式调用webservice
因为另一个系统使用的是Microsoft SOAP Toolkit工具发布的web服务。 对应的调用方式也只能采用SOAP方式。
1 .下载jar包。
2 .代码示例。
import java.net.URL;
import java.util.Vector;
import nc.bs.logging.Logger;
importNC.VO.levmpub.card.web服务const;
import NC.VO.levmpub.card.webserviceparamvo;
import NC.VO.pub.business exception;
importorg.Apache.soap.constants;
import org.apache.soap.Fault;
importorg.Apache.soap.encoding.soapmappingregistry;
importorg.Apache.soap.encoding.soap enc.string deserializer;
import org.apache.soap.rpc.Call;
importorg.Apache.soap.RPC.parameter;
importorg.Apache.soap.RPC.response;
importorg.Apache.soap.transport.http.soaphttpconnection;
importorg.Apache.soap.util.XML.qname;
//*
*
* b访问散装控制系统web服务(采用SOAP方式)/b
* p
*详细说明功能
* /p
* @since
*创建日期: 2013-11-26
* @author
*/
公共类web服务wrapper{
公共服务模式( webserviceparamvoparamvo ) )。
throws BusinessException {
字符串返回值=null;
try {
returnvalue=callmethod(ParamVO;
}catch(exceptione ) {
throw new BusinessException(&; #039; 调用散装控制系统接口时发生错误: &; #039; e.getMessage ) );
}
返回值;
}
//*
*散装控制系统的wsdl由Microsoft soap工具包自动生成,因此只能通过soap方式访问接口
*
* @param paramVO
* @throws Exception
*/
privatestringcallmethod ( webserviceparamvoparamvo ) throws Exception {
soapmappingregistrysmr=newsoapmappingregistry;
stringdeserializersd=new string deserializer (;
SMR.maptypes ( constants.ns _ uri _ soap _ enc,new QName(&; #039;&; #039; 结果& amp; #039; )、null、
null,sd;
//制作传输线路和参数
soaphttpconnectionst=newsoaphttpconnection (;
//创建调用
呼叫=new call (;
call.setsoaptransport(ST;
call.setsoapmappingregistry ( SMR;
call.settargetobjecturi ( param VO.gettargetobjecturi ( ) );
call.set method name ( param VO.get method name ) );
call.setencodingstyleuri ( constants.ns _ uri _ soap _ enc );
vectorparameterparams=getparameter ( param VO );
call.setParams(Params;
URL URL=newurl ( param VO.getwsdlurl ( );
responseresp=call.invoke(URL,paramVO.getSoapAction ) );
if ( resp==空值) {
返回空值;
}
resp.generated fault ( ) ) ) )。
故障故障=resp.get故障(;
Logger.error(fault.tostring ) );
thrownewbusinessexception ( fault.get faultstring ) );
}
参数ret=resp.get return value (;
Object value=ret.getValue (;
返回(字符串)值;
}
privatevectorparametergetparameter ( webserviceparamvoparamvo ) {
vectorparameterparams=newvectorparameter (;
Params.addelement(newparameter ) webserviceconst.cusername,
String.class,paramVO.getUserName ( ),null );
Params.addelement(newparameter ) webserviceconst.cpassword,
String.class,paramVO.getPassword ( ),null );
Params.addelement(newparameter ) webserviceconst.ntype,Integer.class,
paramVO.getNtype ( ),null );
Params.addelement(newparameter ) webserviceconst.ccarno,String.class,
paramVO.getCarno (,null );
Params.addelement(newparameter ) webserviceconst.cckbm,String.class,
paramVO.getStorcode ( ),null );
Params.addelement(newparameter ) webserviceconst.cchbm,String.class,
paramVO.getInvcode ( ),null );
返回参数;
}
}