(vb.net)发送SOAP信封

时间:2014-05-30 20:59:46

标签: vb.net web-services soap

我使用了一个Web服务(available there),我需要生成并发送一个SOAP信封,但这不是我所理解的。 我找到了这个例子:http://macunsw.wordpress.com/2010/11/19/vb-net-example-for-calling-web-service-by-posting-soap-xml/ 但是,我仍然没有得到它,我需要发送的信封是这样的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sunat.gob.pe" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
<soapenv:Header> 
<wsse:Security> 
<wsse:UsernameToken>
<wsse:Username>20100066603MODDATOS</wsse:Username> 
<wsse:Password>moddatos</wsse:Password> 
</wsse:UsernameToken> 
</wsse:Security> 
</soapenv:Header> 
<soapenv:Body> 
<ser:sendBill> 
<fileName>20100066603-01-F001-1.zip</fileName> 
<contentFile>cid:20100066603-01-F001-1.zip</contentFile> 
</ser:sendBill> 
</soapenv:Body> 
</soapenv:Envelope>

有人可以帮忙吗? THX

1 个答案:

答案 0 :(得分:0)

由于您使用的是VB.Net,因此您无需自行处理SOAP服务。

将WSDL路径http://...?wsdl添加为远程服务:

    解决方案资源管理器中的
  • 右键单击您的项目
  • 从上下文菜单中选择Add Service Reference
  • 在地址字段&amp;中输入WSDL的路径。点击开始
  • 应该找到billService
  • 选择一个名称空间,即Sunat

从现在开始,您可以将服务作为简单对象访问:

Dim billService As New Sunat.billServiceClient
billService.sendBill(fileName, contentFile)
billService.sendSummary(fileName, contentFile)
billService.getStatus(ticket)