嗯,这是一个标题的满口。首先我要说的是,我本身不是编程,而是DBA。我可以用最好的方法编写一些MSSQL查询,但我对C#的了解非常有限。我有一个软件需要通过Web服务与之通信,以便在SQL Server Integration Services的约束下将所有数据推送到所有数据。我可以直接从DB读取,但我不能写它。我正在查询一些数据,通过电子邮件发送数据,我需要回写软件,以便通过网络服务通过电子邮件发送到达记录。 WSDL是可用的,但就像我说的那样,没有C#的知识。我能够通过完美运行的SOAPUI构建一个SOAP信封,我想找到一种方法,在我的SSIS包中使用C#脚本调用SOAP。
我也尝试在SSIS中的Web服务任务中运行它,而我的WSDL文件只提供了4种方法,当我应该接近100时。可以更容易理清,但我知道SSIS Web服务任务存在一些限制。
我见过这个帖子:Client to send SOAP request and received response
当我将SOAP和标头复制并粘贴到代码中时,遗憾的是这对我不起作用。要抛出另一个扳手,这是一个受保护的Web服务,它需要3个凭据才能获得一个令牌,用于来回传递数据。一个附带问题是我可以通过C#脚本运行多个SOAP调用(首先进行身份验证,然后将数据推送到Web服务中)吗?
这是我获得能够运行的令牌之后的第二次肥皂调用:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:v2="http://www.WSAPI.AMS360.com/v2.0">
<soapenv:Header>
<v2:WSAPIAuthToken>
<v2:Token>tokenremoved</v2:Token>
</v2:WSAPIAuthToken>
</soapenv:Header>
<soapenv:Body>
<v2:InsertActivity_Request>
<!--Optional:-->
<v2:Activity>
<v2:AssignedTo>93725c05-f77b-49a1-9edd-6ce9fd5505c1</v2:AssignedTo>
<!--Optional:-->
<v2:ActivityType>customer</v2:ActivityType>
<v2:ActivityAction>% of ownership</v2:ActivityAction>
<!--Optional:-->
<v2:ActivityDate>11/04/2014</v2:ActivityDate>
<!--Optional:-->
<v2:ActivityTime>11:54</v2:ActivityTime>
<!--Optional:-->
<v2:EmployeeCode>!$5</v2:EmployeeCode>
<v2:Description>web services test code successfully inserted</v2:Description>
</v2:Activity>
</v2:InsertActivity_Request>
</soapenv:Body>
</soapenv:Envelope>