当前位置: 代码迷 >> Web Service >> 大家帮小弟我看下如何实现这个接口
  详细解决方案

大家帮小弟我看下如何实现这个接口

热度:149   发布时间:2016-05-02 02:18:28.0
大家帮我看下怎么实现这个接口,
下面是客户给我的接口文档说明
================
1、查询请求
<?xml version='1.0' encoding='UTF-8'?>
<ufinterface account='fwoa' billtype='listSubCompany'>
<listSubCompany>
<security>
<name>fwoapt</name>
<psw> zflPoJQ4axA=</psw>
</security>
<condition>
</condition>
</listSubCompany>
</ufinterface>

2、查询返回
无记录返回:
<?xml version='1.0' encoding='UTF-8'?>
<ufinterface account='fwoa' billtype='listSubCompany'>
<result>
<succeed>0</succeed>
<body>
</body>
<errinfo>查询无记录</errinfo>
</result>
</ufinterface>

============================
看上面 ,第1点是请求客户提供给我的接口,第二是客户那边的服务器返回的结果。
单通过上面的信息大家知道怎么实现这个接口吗。是如何把这个xml提交到请求到服务器的,比如post xml数据的代码


------解决思路----------------------
可以,如果参数少,可以值传递参数在网址上
------解决思路----------------------
var postData == "<xml></xml>";
var request = (HttpWebRequest)WebRequest.Create(url);                
if(!string.IsNullOrEmpty(postData))
{
    request.Method = "POST";
    byte[] data = Encoding.UTF8.GetBytes(postData);

    request.ContentLength = data.Length;
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(data, 0, data.Length);
    requestStream.Close();
}

var m_returnXML = "";
using(var response = (HttpWebResponse)request.GetResponse())
{
    using(Stream s = response.GetResponseStream())
    {
        byte[] bytes = ReadAll(s);
        m_returnXML = Encoding.UTF8.GetString(bytes);
    }
}

------解决思路----------------------
用POST方式把XML POST过去
------解决思路----------------------
引用:
Quote: 引用:

用POST方式把XML POST过去

我也试过post xml,还有没有其它可能性.另外采用128位对称算法加密后才提交的,不知道这个有什么影响。

HTTP协议就只有POST/GET/PUT/DELETE这些基本的操作啊,或者你可以找客户要WSDL文件,然后在工程里面做Web Referece,但这个也只是把POST封装了一下而已啊
  相关解决方案