使用C#访问D& B Direct Web服务(WSDL)101

时间:2016-08-03 20:58:05

标签: c# web-services soap wsdl

尝试使用Dun & Bradstreet webservice并且没有太多运气。

我已经能够添加他们网站上提供的WSDL文件( CompanyService.wsdl )作为服务参考,我没有看到明确的触发器来请求信息和/或在哪里添加用户名/密码以供请求。

MatchRequest mreq = new MatchRequest();
MatchRequestDetail mrd = new MatchRequestDetail();
InquiryDetail ideta = new InquiryDetail();
ideta.DUNSNumber = "804735132";
mrd.InquiryDetail = ideta;
MatchSpecification mspec = new MatchSpecification();
mspec.MatchTypeText = MatchModeEnum.Basic;
mrd.MatchSpecification = mspec;
mreq.MatchRequestDetail = mrd;

对此方面的任何指导都表示赞赏。

1 个答案:

答案 0 :(得分:0)

您生成的客户端应该有一个匹配操作,该操作需要一个MatchRequest,并根据我在WSDL中看到的内容返回一个MatchResponse

<wsdl:operation name="Match">
    <wsdl:input message="tns:MatchRequest"/>
    <wsdl:output message="tns:MatchResponse"/>
    <wsdl:fault name="TransactionFault" message="tns:TransactionFault"/>
</wsdl:operation>

例如,如果您使用Visual Studio中的命名空间ServiceReference1生成服务引用,那么您应该使用类ServiceReference1.CompanyClient,如下所示:

ServiceReference1.CompanyClient client = new ServiceReference1.CompanyClient();
MatchResponse mrsp = client.Match(mreq);

您可以在代码或app.config

中设置用户名和密码的安全配置