Microsoft Soap Toolkit 立即下载

Microsoft Soap Toolkit

  • 分类:其它软件
  • 大小:3.49 MB
  • 语言:中文
  • 版本:v3.0免费版
  • 时间:2025-03-21 10:05:15

手机扫码免费下载

#Microsoft Soap Toolkit简介

Microsoft SOAP Toolkit 3.0 是一套基于 COM 的开发组件,用于通过 SOAP 协议与 Web 服务进行通信。它提供了一个灵活的框架,支持构建可扩展的 Intranet 和 Internet Web 服务,并集成 IIS 安全基础结构以确保安全性。SOAP 协议定义了消息封装、编码规则和绑定机制,通常使用 HTTP 作为传输协议,将 RPC 请求和响应映射到 HTTP 请求和响应。 本文介绍如何使用 Java 调用由 Microsoft SOAP Toolkit 发布的 Web 服务。首先,下载必要的 jar 包,然后通过代码示例展示调用过程。代码中创建了 SOAP 消息,设置了目标 URI、方法名和参数,并通过 `SOAPHTTPConnection` 发送请求。返回的响应被解析为字符串结果。若调用失败,则抛出异常并记录错误信息。此方法适用于特定于 Microsoft SOAP Toolkit 的 WSDL 接口,确保兼容性和正确性。Microsoft Soap Toolkit

SOAP相关定义

基于类对象的传输协议。

Microsoft Soap Toolkit

SOAP RPC表示(RPC representation),它定了一个协定,用于表示远程过程调用和应答;

SOAP绑定(binding),它定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。

把SOAP绑定到HTTP提供了同时利用SOAP的样式和分散的灵活性的特点以及HTTP的丰富的特征库的优点。在HTTP上传送SOAP并不是说SOAP会覆盖现有的HTTP语义,而是HTTP上的SOAP语义会自然的映射到HTTP语义。在使用HTTP作为协议绑定的场合中,RPC请求映射到HTTP请求上,而RPC应答映射到HTTP应答。然而,在RPC上使用SOAP并不仅限于HTTP协议绑定。

SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;

SOAP编码规则(encoding rules),它定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例;

用SOAP方式调用webservice

由于另外系统用的是Microsoft SOAP Toolkit 工具发布的webservice。对应的调用方式也只能采用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;

/**

*

* 访问散装控制系统WebService(采用SOAP方式)

*

*     详细描述功能

*

* @since

* 创建日期: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("调用散装控制系统接口出现错误: " + e.getMessage());

}

return returnValue;

}

/**

* 由于散装控制系统的wsdl是用Microsoft SOAP Toolkit自动生成的,只能通过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);

// 创建传输路径和参数

SOAPHTTPConnection st = new SOAPHTTPConnection();

// 创建调用

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 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 getParameter(WebServiceParamVO paramVO) {

Vector params = new Vector();

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;

}

Microsoft Soap Toolkit

web服务器SoapSoapToolkit

上一篇:实创个人理财系统

下一篇:没有了