multipart/form-data 수신을 기대하는 휴식 서비스를 호출하려고하는데이 문제에 직면하고 있습니다.Mule http : outbound-endpoint + multipart/form-data
검색하는 동안 페이로드를 아웃 바운드 첨부 파일로 이동하고 페이로드를 null로 설정해야한다는 것을 이해했습니다.
<expression-component><![CDATA[
ds = new org.mule.message.ds.StringDataSource(formdata,'payload','multipart/form-data');
dh = new javax.activation.DataHandler(ds);
message.outboundAttachments['payload'] = dh;
]]></expression-component>
<set-payload value="#[null]" />
나는 또한 것을 수행하지만, 오류가있어 :
나는 콘텐츠 유형의 오류 접수 : 메시지 : 메시지에 포함 MIME 타입이 "text/XML", "다중/폼 데이터를 "예상했다.
Obs : 표현식 구성 요소를 사용해야했습니다. 설정 첨부 파일을 사용하는 경우 "null이 아니어야합니다."라는 오류가 표시됩니다.
여기에서 문제는 콘텐츠 유형이므로 메시지 속성을 변형하려고 시도했습니다.
<message-properties-transformer overwrite="true" doc:name="Message Properties">
<add-message-property key="Content-Type" value="multipart/form-data;charset=utf-8"/>
</message-properties-transformer>
그런 다음 나머지 서비스에서 400 오류가 발생했습니다.
나는 multipart의 각 속성 (키 - 값)을 콘텐츠 유형 : 텍스트/일반, 여기 같은 문제로 구분 된 첨부 파일에 넣으려고했습니다.
내 문제는 올바르게 첨부하는 방법입니다. 콘텐츠 유형이 multipart/form-data로 변환되어 성공합니다.
감사합니다. 감사.
HTTP 아웃 바운드 통화 코드 :
<enricher source="#[message.inboundProperties['http.status']]" target="#[variable:out]" doc:name="Message Enricher">
<http:outbound-endpoint exchange-pattern="request-response" method="POST" host="${jbpm.host}" port="${jbpm.port}" path="#[address]" doc:name="HTTP" mimeType="multipart/form-data">
<response>
<object-to-string-transformer />
</response>
</http:outbound-endpoint>
</enricher>
<logger message="RESPONSE STATUS - #[variable:out]" level="INFO" doc:name="Logger"/>
<set-payload value="needAXml" doc:name="Set Payload"/>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<mulexml:xslt-transformer maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT">
<mulexml:xslt-text>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bpmsws="http://www.arizona.com.br/esb/bpmsws/service/v1_0_0/"
xmlns:bpms="http://www.arizona.com.br/bpms/core/v1_0_0/">
<xsl:param name="responseStatus"/>
<xsl:template match="/">
<bpmsws:httpPostResponse>
<status xmlns=""><xsl:value-of select="$responseStatus" /></status>
</bpmsws:httpPostResponse>
</xsl:template>
</xsl:stylesheet>
</mulexml:xslt-text>
<mulexml:context-property key="responseStatus" value="#[variable:out]"/>
</mulexml:xslt-transformer>