小编KvH*_*KvH的帖子

当SOAP 1.1工作时,SOAP 1.2会产生错误的请求

我创建了一个ASP.NET Web服务(asmx),允许第三方软件连接到我的解决方案.当从服务器所驻留的服务器调用时,使用SOAP 1.1或ASP.NET的调用表调用web服务时效果很好.

那么问题是什么,连接方只支持SOAP 1.2,当使用SOAP 1.2调用web服务时,它返回400 Bad请求.

我在web.config中启用了SOAP 1.2:

<configuration>
    <system.web>
        <webServices>
            <soapExtensionTypes>
                <add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0" />
            </soapExtensionTypes>
            <protocols>
                <add name="HttpSoap12" />
                <add name="HttpGet" />
                <add name="HttpPost" />
            </protocols>
        </webServices>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我将扩展用于另一部分,我试图通过特定于位置的配置禁用它,但是没有产生任何结果.

我启用了跟踪:

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
        <source name="System.Web.Services.Asmx">
            <listeners>
                <add name="AsmxTraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="D:\Trace.log" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId" />
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="System.Web.Services.Asmx" value="Verbose"  />
    </switches>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

使用Chrome Advanced Rest Client我发送以下请求:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <authenticateUser …
Run Code Online (Sandbox Code Playgroud)

asp.net soap web-services

6
推荐指数
1
解决办法
2510
查看次数

标签 统计

asp.net ×1

soap ×1

web-services ×1