Web服务SOAP为每个请求/响应分离xml文件?

Web服务SOAP为每个请求/响应分离xml文件?,xml,soap,Xml,Soap,我对Web服务相当陌生,所以我有了用请求和响应定义信封的想法 我的问题是,如果每个请求/响应都应该在FooRequest.xml、FooResponse.xml中获得自己的信封。或者一个信封中可以有多个请求/响应?如果是这样的话,在一个信封中处理多个请求好吗?我认为,因为SOAP请求是XML文档,所以您可以有多个信封元素(它不会给您任何错误),但只有第一个会被处理并发送到服务器 若只有一个请求,那个么应该只有一个与请求相关联的响应 您可以尝试使用任何UI工具,就像我尝试使用SOAPUI一样:

我对Web服务相当陌生,所以我有了用请求和响应定义信封的想法


我的问题是,如果每个请求/响应都应该在FooRequest.xml、FooResponse.xml中获得自己的信封。或者一个信封中可以有多个请求/响应?如果是这样的话,在一个信封中处理多个请求好吗?

我认为,因为SOAP请求是XML文档,所以您可以有多个信封元素(它不会给您任何错误),但只有第一个会被处理并发送到服务器

若只有一个请求,那个么应该只有一个与请求相关联的响应

您可以尝试使用任何UI工具,就像我尝试使用SOAPUI一样:


正如您所看到的,即使您有多个信封,但只有第一个信封将被发送到服务器,并且响应与请求关联。

XML文件必须只有一个根元素。对于SOAP消息,根元素就是信封。因此,一封邮件必须正好有一个信封

根据标准,信封有一个主体,可能有一个标题。没有为body和element定义任何上界,尽管据我所知这里的默认值是1

等级库进一步说明了主体图元:

元素必须存在于SOAP消息中,并且必须是SOAP信封元素的直接子元素。它必须直接跟随SOAP头元素(如果存在)。否则,它必须是SOAP信封元素的第一个直接子元素

这限制了您在SOAP信封中定义多个标头或正文元素。因此,消息需要一个SOAP信封和一个SOAP主体元素,并且可能在SOAP主体之前包含一个SOAP头。SOAP头和SOAP体必须是SOAP信封的子元素

由于规范允许多个主体条目,因此理论上可以使用一条SOAP消息发送多个请求。实际上,我只见过一个。因此,包含多个正文条目可能取决于您使用的底层框架。我想使用行业标准,如ApacheCXF和类似的框架应该支持它