首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接Web服务所需的所有步骤(提供WSDL和SOAP示例)

连接Web服务所需的所有步骤(提供WSDL和SOAP示例)
EN

Stack Overflow用户
提问于 2017-09-24 18:36:06
回答 1查看 648关注 0票数 1

我需要连接到一个web服务,这是我拥有的所有信息:

  1. https://www.nameofthecompany.es:8443/webservices/functionIshouldcall?wsdl
  2. 呼叫的例子: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://address.provided.by.the.company.es"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-5"> <wsse:Username>Username</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <env:functionIshouldcall> <env:parameter1></env:parameter1> </env:functionIshouldcall> </soapenv:Body> </soapenv:Envelope>
  3. 我知道这个函数返回一个字符串;

这就是我到目前为止所做的:

  • 创建一个服务引用,仅添加第1点中给出的WSDL地址。
  • 创建了一个webservice实例,并使用所需的所有参数调用该函数,但没有调用标头的用户和密码。

我该怎么做?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-09-24 19:56:27

如果您需要添加凭据,可能是一个很好的起点;我猜您可能不得不这样做,因为您得到了它们。添加凭据的部分如下:

代码语言:javascript
复制
UsernameToken userToken = new UsernameToken(userName, password, PasswordOption.SendHashed);
Service1 serviceProxy = new Service1();
SoapContext requestContext = serviceProxy.RequestSoapContext;
requestContext.Security.Tokens.Add(userToken);

简言之:

  1. 通过将凭证嵌入到特定的令牌(其类型属于Microsoft.Web.Services2.Security.Tokens命名空间)中来添加凭据。
  2. 为您的服务创建一个代理(在上面的示例中,serviceProxy)
  3. 通过服务的RequestSoapContext获得对其请求头的访问
  4. 将令牌添加到请求中

此外,我认为您可以跳过地址中的"?wsdl“部分,因为它引用了web服务规范。完成上述操作后,您可以尝试调用该函数并查看所有操作的结果:如果该函数必须返回某项内容,请检查它是否符合您的预期。

当然,不要忘记将您的代码放在一个try-catch块中,因为您可能需要检查一些异常,看看可能出了什么问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46393532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档