当前位置: 首页 > 知识库问答 >
问题:

如何在JMeter中向WCF服务发送Soap请求——获得错误请求400错误

严阳夏
2023-03-14

我有以下WCF服务操作:

[ServiceContract(ConfigurationName="IDocumentGenerator")]
    public interface IDocumentGenerator
    {
        [OperationContract(Action = "GenerateDocument")]
        XmlDocument GenerateDocument(int TemplateId, string Format, XmlDocument Payload);
    }

我可以通过导航到服务在浏览器中加载WSDL。但是,当我在Jmeter中向同一服务发送“SOAP/XML-RPC请求”时,我收到了响应代码-400-错误请求。

以下是我正在使用的Soap消息:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <GenerateDocument>
            <Format>Pdf</Format>
            <TemplateId>6</TemplateId>
            <Payload><a></a></Payload>
        </GenerateDocument>     
    </soapenv:Body>
</soapenv:Envelope>

共有1个答案

乌俊健
2023-03-14

XmlDocument在WCF不会直接作为操作参数得到支持。您需要在OperationContract属性中使用XmlSerializerFormat:

[OperationContract(Action = "GenerateDocument"), XmlSerializerFormat]

我创建的Soap请求也无效。要创建Soap请求,我们可以使用http://www.soapui.org/中的软件。创建有效的Soap请求后,我能够解决问题:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:GenerateDocument>
         <tem:TemplateId>2</tem:TemplateId><tem:Format>2</tem:Format>
         <!--Optional:-->

         <!--Optional:-->
         <tem:Payload>
            <a/>
         </tem:Payload>
      </tem:GenerateDocument>
   </soapenv:Body>
</soapenv:Envelope>
 类似资料:
  • 问题内容: 我有这个应用程序,它可以在本地运行,并且在部署时可以使用.mdf SQL Express数据库文件(通常用于测试目的)。但是,当我将其更改为可与我们的SQL Server 2008一起使用时,该应用程序可以运行,但该服务无法运行。 例如,如果在页面后面的代码中,我有一个按钮可以向表中添加数据,例如: 我的web.config设置为在该服务器上使用模拟,并且一切运行良好。但是,对于我的服

  • 我的Spring3.1 mvc服务器可以通过添加来响应正确的json结果,在spring设置文件上应该没有问题。servlet.xml包括 我把杰克逊罐子放在类路径中。

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 好的,我对网络服务完全陌生,对于我正在做的一个项目,我试图了解整个SOAP。我想我对正在发生的事情有一个模糊的理解,但是我缺少一些具体的信息,我在谷歌上找不到任何有用的东西。 我已经阅读了其他人提出的问题,例如使用java向Web服务发出的SOAP请求,但我仍然无法完全弄清楚发生了什么。 具体来说,我尝试使用这里提供的服务http://ec.europa.eu/taxation_customs/v

  • 我正试图从我的android向IIS Web服务发送一个包含一类数据的图像。(C#) 问题是我得到。 图像正在被编码为< code>Base64。然后与其余的类元素一起放入< code>json中。 我猜想Base64在Json中是无效的。因此服务器无法理解。如果我将字符串设置为,则可以接受帖子。 所以问题是,如何使我的在数组中有效?(我尝试了URL.Encode,但没有成功)。 或者应该如何从a

  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常: