.NET如何处理soap接口

2025-09-29 18:16:14

1、      webservice大家都用的比较频繁,有时也有一些带soapheader的webservice,首先一种最简单的调用soapheader的情况就是,如果对方的webservice也是用.net写的,可能会是这种方式。

.NET如何处理soap接口

2、      之后我们在通过添加服务引用或者是利用vs的wsdl工具生成代理类,都会把上面的AuthHeader类型给生成好,我们要做的就是简单的赋值工作了。

通过下图这种方式就可以通过验证调用webservice获取返回信息了。

.NET如何处理soap接口

3、      有些时候我们发现我们调用对方的webservice一直失败,然后添加娃爹的销趴服务引用或者是代理类中也没有soapheader的类型,然后客户告诉我们,你要调用摸返著接口必须传soapHeader,这个soapHeader在.net中是这样的。     

.NET如何处理soap接口

4、       我们把这个AuthHeader按照格式写好。然后在调用webservice中的方法之前加上我们的soapheader,代码如下:

.NET如何处理soap接口

1、最后一种情况就是人家只告诉你需要加一个这样的

<AuthHeader>

<username>用户名</username>

<password>密码</password>

</AuthHeader>

2、这个时候就需要使用我们的SoapUI了,我们来用soapui看看我们报文吧

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">   

<soap:Header/>   

<soap:Body>      

<tem:HelloWorld/>   

</soap:Body>

</soap:Envelope>

3、发现怎么<soap:Header/>中是空的呢,然后我们按照别人给的格式将soapheader中填上

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">   

  <soap:Header>      

     <AuthHeader>         

         <username>admin</username>         

         <password>123</password>      

     </AuthHeader>   

  </soap:Header>   

  <soap:Body>      

      <tem:HelloWorld/>   

  </soap:Body>

</soap:Envelope>

4、       然后这样发送过去,发现webservice成功访问并且接收到返回值了,哎,任务时间比较紧迫,只能用最简单也是最笨的方法了,替换数据然后在把报文发过去。

.NET如何处理soap接口

5、最终返回的xml中的内容也只能是自己解析了。。。

可能遇到后面两种情况的会少一些,希望大家有其他的方式可以分享一下。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢