如何在Mule Dataweave/Transform中映射SOAP请求
我在Mule 3.8.3上使用SOAP服务,遇到了一个我自己无法解决的场景。我有下面的流程可以直接向前看 SOAP请求看起来像:如何在Mule Dataweave/Transform中映射SOAP请求,soap,mule,transform,Soap,Mule,Transform,我在Mule 3.8.3上使用SOAP服务,遇到了一个我自己无法解决的场景。我有下面的流程可以直接向前看 SOAP请求看起来像: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:jcm="http://www.oracle.com/JCM"> <soapenv:Header/> <soapenv:Body> &l
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:jcm="http://www.oracle.com/JCM">
<soapenv:Header/>
<soapenv:Body>
<jcm:GenericRequest webKey="cs">
<jcm:Service ServiceId="GET_FILE">
<jcm:Document>
<!--Zero or more repetitions:-->
<jcm:Field name="documentName">abcd.pdf</jcm:Field>
<jcm:Field name="documentID">156</jcm:Field>
</jcm:Document>
</jcm:Service>
</jcm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
Xml到Json
产生:
{
"webKey": "cs",
"serviceId": "GET_FILE",
"documents": [
{
"documentName": "abcd.pdf",
"documentID": "156"
},
{
"documentName": "efgh.pdf",
"documentID": "850"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<jcm:GenericRequest xmlns:jcm="http://www.oracle.com/JCM" webkey="cs">
<jcm:Service ServiceId="GET_FILE">
<jcm:Document>
<jcm:Field name="documentName">abcd.pdf</jcm:Field>
<jcm:Field name="documentID">156</jcm:Field>
</jcm:Document>
<jcm:Document>
<jcm:Field name="documentName">efgh.pdf</jcm:Field>
<jcm:Field name="documentID">850</jcm:Field>
</jcm:Document>
</jcm:Service>
</jcm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
Json到Xml
产生:
{
"webKey": "cs",
"serviceId": "GET_FILE",
"documents": [
{
"documentName": "abcd.pdf",
"documentID": "156"
},
{
"documentName": "efgh.pdf",
"documentID": "850"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<jcm:GenericRequest xmlns:jcm="http://www.oracle.com/JCM" webkey="cs">
<jcm:Service ServiceId="GET_FILE">
<jcm:Document>
<jcm:Field name="documentName">abcd.pdf</jcm:Field>
<jcm:Field name="documentID">156</jcm:Field>
</jcm:Document>
<jcm:Document>
<jcm:Field name="documentName">efgh.pdf</jcm:Field>
<jcm:Field name="documentID">850</jcm:Field>
</jcm:Document>
</jcm:Service>
</jcm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
abcd.pdf
156
efgh.pdf
850
Xml到Json
产生:
{
"webKey": "cs",
"serviceId": "GET_FILE",
"documents": [
{
"documentName": "abcd.pdf",
"documentID": "156"
},
{
"documentName": "efgh.pdf",
"documentID": "850"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<jcm:GenericRequest xmlns:jcm="http://www.oracle.com/JCM" webkey="cs">
<jcm:Service ServiceId="GET_FILE">
<jcm:Document>
<jcm:Field name="documentName">abcd.pdf</jcm:Field>
<jcm:Field name="documentID">156</jcm:Field>
</jcm:Document>
<jcm:Document>
<jcm:Field name="documentName">efgh.pdf</jcm:Field>
<jcm:Field name="documentID">850</jcm:Field>
</jcm:Document>
</jcm:Service>
</jcm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
Json到Xml
产生:
{
"webKey": "cs",
"serviceId": "GET_FILE",
"documents": [
{
"documentName": "abcd.pdf",
"documentID": "156"
},
{
"documentName": "efgh.pdf",
"documentID": "850"
}
]
}
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<jcm:GenericRequest xmlns:jcm="http://www.oracle.com/JCM" webkey="cs">
<jcm:Service ServiceId="GET_FILE">
<jcm:Document>
<jcm:Field name="documentName">abcd.pdf</jcm:Field>
<jcm:Field name="documentID">156</jcm:Field>
</jcm:Document>
<jcm:Document>
<jcm:Field name="documentName">efgh.pdf</jcm:Field>
<jcm:Field name="documentID">850</jcm:Field>
</jcm:Document>
</jcm:Service>
</jcm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
abcd.pdf
156
efgh.pdf
850
感谢您的回复@utechtzs!我将尝试此解决方案并回复。感谢您的回复@utechtzs!我将尝试此解决方案并回复。