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

为什么Multipart/form数据删除Nill作为响应Mule Dataweave

陈渊
2023-03-14

请找到我的请求有标签

它还删除了不是预期情况的命名空间。如果我尝试在第一个数据编织中声明ns xsihttp://www.w3.org/2001/XMLSchema-instance。在响应根元素中,它是xsi: Loctions的前缀。我正在努力解决这个问题。

想要如下所述的响应,无论输入是什么相同的,都应该在不改变的情况下出现。

使用写NilOnNull=true将nill放在我不想要的所有字段上,只需要日期。

有人能帮忙吗?谢谢你。

输入:

<Locations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Location>
    <Id>2</Id>
    <CarId>78</CarId>
    <Packages>1</Packages>
    <Date xsi:nil="true"/>
   </Location>
</Locations>

预期响应:

 <Locations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Location>
    <Id>2</Id>
    <CarId>78</CarId>
     <Packages/>
    <Date xsi:nil="true"/>
   </Location>
</Locations>

流量:

        <flow name="question" doc:id="8c836a85-9d0a-47a8-8e5a-f670b16f91eb" >
        <http:listener doc:name="Listener" doc:id="52ffdb08-9587-4cb2-8232-9467e85ea0dc" config-ref="HTTP_Listener_config" path="/question"/>
        <ee:transform doc:name="Transform Message" doc:id="da995adf-196b-4c7b-a265-874f059ed1bb" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/xml 
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <ee:transform doc:name="Transform Message" doc:id="75e5d876-855e-4d38-8468-3484c859f36e" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output multipart/form-data 
---
{
  "parts": {
    "file": {
      "headers": {
        "Content-Disposition": {
          "name": "file",
          "filename": "",
          "subtype": "form-data"
        },
        "Content-Type": "application/xml"
      },
      "content": payload
    }
  }
}]]></ee:set-payload>
            </ee:message>
        </ee:transform>
    </flow>
</mule>

共有1个答案

呼延智明
2023-03-14

在您的转换中添加写NilOnNull=true。像这样

%dw 2.0
var x=read('<Locations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Location>
    <Id>2</Id>
    <CarId>78</CarId>
    <Packages>1</Packages>
    <Date xsi:nil="true"/>
   </Location>
</Locations>','application/xml')
output application/xml writeNilOnNull=true
---
x
 类似资料:
  • 我在计算一个简单蒸汽的最大值,结果是: (S11000,S1,值:999) (S12000,S1,值:41) 最后一行数据明显迟到了: 为什么按第一个窗口(0-1000)计算? 我认为第一个窗口应该在到达时触发。 对于这个结果,我很疑惑。 MyReductingMax(),MyWindowFunction()

  • 我的环境: Shop RestController:Spring Boot 在localhost laptopn ubuntu 18:04 在localhost desktop pc windows 10上 邮递员要求: Spring引导控制器: 我已经尝试使用Observable和any以及HttpHeaders和Application/JSON,但响应相同。

  • 问题内容: HTML表单是什么意思,什么时候应该使用它? 问题答案: 发出POST请求时,必须以某种方式对构成请求主体的数据进行编码。 HTML表单提供了三种编码方法。 (默认) 正在进行添加的工作,但已被放弃。 (使用HTML表单提交以外的其他方式生成的HTTP请求也可以使用其他编码。JSON是用于Web服务的常见格式,有些仍然使用SOAP。) 格式的细节对大多数开发人员而言并不重要。要点是:

  • 我正在编写C++来解决这个问题,从leetcode:https://leetcode.com/problems/remove-element/ 给定数组nums和值val,移除该值的所有实例并返回新的长度。 不要为另一个数组分配额外的空间,您必须用O(1)个额外内存修改输入数组。 元素的顺序可以更改。你在新长度之外留下什么并不重要。 您的函数应该返回长度=2,nums的前两个元素为2。 在返回长度

  • 我不清楚它们是什么,也不知道什么时候使用它们。 在这个例子中,我有一个REST客户端,我想发送一个文件(.zip文件),如果我使用其中任何一种类型,会发生什么 我猜application/octet-stream相当于application/zip,这只是为了向另一方提供有关传输数据的提示,文件以某种方式进行了编码 多部分/表单数据以某种方式破坏数据,您可以通过其特定的mime类型传递“多个数据”

  • 我需要你的帮助。我正在使用Spring3实现一个RESTful WebService的服务器部分。不幸的是,我对如何发送请求没有任何影响,所以没有办法改变这一点。 我想接收一个作为多部分/表单数据的http post请求。我有一个@RestController并做了一个@RequestMapping..请求到达我的方法 我希望可以使用方法检索所有部分。这是不可能的,总是没有可用的零件。我想我找到了