相关疑难解决方法(0)

.NET中的SOAP请求

我们正在尝试使用SOAP请求使用Visual Studio C#与预订API进行交互.

我们已经与另一个API的Web服务连接而没有问题,但这个问题证明是有问题的.

我们已将其添加为服务引用,并且Visual Studio已为其生成所有类和web.config条目,以便一切看起来都很好.

但是,当我们尝试向客户端SOAP服务发出简单请求时,我们会收到以下错误:

rpc\literal SOAP不支持Namespace ='com.hrs.soap.hrs'.包装元素必须是不合格的.

代码是:

PingRequest pingrequest = new PingRequest();    
SoapServiceClient service = new SoapServiceClient();
service.ping(pingrequest);
Run Code Online (Sandbox Code Playgroud)

这是Web.config文件中添加的内容:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="HRSSoapServiceBinding" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
            useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
                realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="..."
          binding="basicHttpBinding" bindingConfiguration="HRSSoapServiceBinding"
          contract="HRSService.HRSSoapService" name="HRSSoapServicePort" />
    </client>
  </system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

根据文档,请求应如下所示:

<complexType name="PingRequest">
    <complexContent>
        <extension base="tns:Request"> …
Run Code Online (Sandbox Code Playgroud)

c# soap web-services exception-handling

7
推荐指数
1
解决办法
8609
查看次数

标签 统计

c# ×1

exception-handling ×1

soap ×1

web-services ×1