認証失敗後に 401 HTTP_response を返したいです。以下の構成で http:response-builder コンポーネントを使用してこれを実行しようとしています。フロー内の前のことは気にしません。この時点に到達したら、これを行う必要があるだけです。
<flow name="main" doc:name="main">
<http:inbound-endpoint exchange-pattern="request-response"
address="http://localhost:8081/example" doc:name="HTTP" />
<byte-array-to-string-transformer
doc:name="Byte Array to String" />
<cxf:proxy-service namespace=""
service="" payload="envelope"
wsdlLocation=""
enableMuleSoapHeaders="false" doc:name="ProxyService"/>
<cxf:proxy-client payload="envelope" enableMuleSoapHeaders="true" doc:name="ProxyClient" />
<http:outbound-endpoint exchange-pattern="request-response"
address=""
doc:name="request" />
<byte-array-to-string-transformer
doc:name="Byte Array to String" />
<logger message="The payload after the request is:#[payload]"
level="INFO" doc:name="Logger" />
<choice doc:name="Choice">
...
<otherwise>
<processor-chain>
<logger message="Failed authentication is:#[payload]" level="INFO"
doc:name="Logger" />
<http:response-builder status="401"
doc:name="HTTP Response Builder">
<set-payload value="Authentication Failed" />
</http:response-builder>
</processor-chain>
</otherwise>
soapUI から受け取ったエラー
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Could not find a transformer to transform "SimpleDataType{type=org.mule.transport.http.HttpResponse, mimeType='text/xml'}" to "SimpleDataType{type=java.io.InputStream, mimeType='*/*'}". (org.mule.api.transformer.TransformerException). Message payload is of type: PostMethod</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>.
これは、現在のメッセージが text/xml であり、不明なタイプを返そうとしていることを示しています。ビルダーのコンテンツ タイプを text/xml に設定してみましたが、同じ結果が得られました
編集:現在のステータスは HTTP/1.1 500 Internal Server Error です
お読みいただきありがとうございました。