Mule ESB:使用HTML和Javascript进行HTTP响应

时间:2014-05-27 08:34:20

标签: javascript html http mule httpresponse

目前我正在使用mule esb。我想要实现的是:在JavaScript中执行一些操作,并根据HTML格式将响应发布到HTTP。

例如,我有以下HTML文件:

<!DOCTYPE> <html>   <head>
        <script type="text/javascript" src="mule-resource/js/mule.js"></script>
        <script type="text/javascript">

            function init(){
                mule.subscribe("http://localhost:8081/uebermittleAusweisdaten", function(data){
                    var res = JSON.parse(data.data);
                    var ausweis = res.Body.uebermittleAusweisdatenResponse.ausweis;
                    var berechtigung = res.Body.uebermittleAusweisdatenResponse.berechtigung;
                    var fahrerlaubnis = res.Body.uebermittleAusweisdatenResponse.fahrerlaubnis;
                    var lieferant = res.Body.uebermittleAusweisdatenResponse.lieferant;
                    var mitarbeiter = res.Body.uebermittleAusweisdatenResponse.mitarbeiter

                    var raumzonen = berechtigung.raumzonen.raumzone;
                    var zusatzberechtigungen = berechtigung.zusatzberechtigungen.zusatzberechtigung;
                    var mitnahmenachweise = berechtigung.mitnahmenachweise.mitnahmenachweis;

                    var fahrzeugtypen= fahrerlaubnis.fahrzeugtypen.fahrzeugtyp;
                    var klassen= fahrerlaubnis.klassen.klasse;

                    var auftraggeberliste = lieferant.auftraggeberListe.auftraggeber;

                    var name = mitarbeiter.name;

                    document.getElementById('messages').innerHTML = "<b> Ausweis </b><br\>";
                    document.getElementById('messages').innerHTML += "Nummer: "+ausweis.nummer+'<br\>';
                    document.getElementById('messages').innerHTML += "Gueltig bis: "+ausweis.gueltigBis+'<br\>';
                    document.getElementById('messages').innerHTML += "Farbe: "+ausweis.farbe+'<br\>';
                    document.getElementById('messages').innerHTML += "Gueltigkeit: "+ausweis.gueltigkeit+'<br\>';
                    document.getElementById('messages').innerHTML += "Bemerkung: "+ausweis.bemerkung+'<br\><br\>';

                    document.getElementById('messages').innerHTML += "<b> Mitarbeiter </b><br\>";
                    document.getElementById('messages').innerHTML += "Personalnummer: "+mitarbeiter.personalnummer+'<br\>';
                    if(name.titel!=undefined){
                        document.getElementById('messages').innerHTML += "Titel: "+name.titel+'<br\>';
                    }
                    document.getElementById('messages').innerHTML += "Vorname: "+name.vorname+'<br\>';
                    document.getElementById('messages').innerHTML += "Nachname: "+name.nachname+'<br\>';
                    document.getElementById('messages').innerHTML += "Funktionsbezeichnung: "+mitarbeiter.funktionsbezeichnung+'<br\>';
                    document.getElementById('messages').innerHTML += "Firma: "+mitarbeiter.firma+'<br\>';
                    document.getElementById('messages').innerHTML += "EU Freistellung: "+mitarbeiter.eUFreistellung+'<br\>';
                    document.getElementById('messages').innerHTML += "Bild: <img align='top' src = 'data:image/png;base64,"+mitarbeiter.bild+"'\><br\><br\>";

                    document.getElementById('messages').innerHTML += "<b> Berechtigung </b><br\>";
                    document.getElementById('messages').innerHTML += "Raumzonen: ";
                    for(i=0,j=raumzonen.length; i<j; i++){
                        document.getElementById('messages').innerHTML += raumzonen[i];
                        if(i == j-1){
                            document.getElementById('messages').innerHTML += "<br\>";
                        }
                        else{
                            document.getElementById('messages').innerHTML += ", ";
                        }
                    }
                    document.getElementById('messages').innerHTML += "Mitnahmenachweise: <br/>";
                    for(i=0,j=mitnahmenachweise.length; i<j; i++){
                        var space = "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
                        var gegenstaende = mitnahmenachweise[i].gegenstaende.gegenstand;

                        document.getElementById('messages').innerHTML += "&nbsp&nbsp&nbsp"+(i+1)+") Mitnahmenachweis:<br/>";
                        document.getElementById('messages').innerHTML += space+"Personengruppe: "+mitnahmenachweise[i].personengruppe+'<br\>';
                        document.getElementById('messages').innerHTML += space+"Gegenstaende: ";
                        for(x=0,y=gegenstaende.length; x<y; x++){
                            document.getElementById('messages').innerHTML += gegenstaende[x];
                            if(x == y-1){
                                document.getElementById('messages').innerHTML += "<br\>";
                            }
                            else{
                                document.getElementById('messages').innerHTML += ", ";
                            }
                        }
                    }
                    document.getElementById('messages').innerHTML += "Zusatzberechtigungen: ";
                    for(i=0,j=zusatzberechtigungen.length; i<j; i++){
                        document.getElementById('messages').innerHTML += zusatzberechtigungen[i];
                        if(i == j-1){
                            document.getElementById('messages').innerHTML += "<br\>";
                        }
                        else{
                            document.getElementById('messages').innerHTML += ", ";
                        }
                    }
                    document.getElementById('messages').innerHTML += "<br\>";

                    document.getElementById('messages').innerHTML += "<b> Fahrerlaubnis </b><br\>";
                    document.getElementById('messages').innerHTML += "Zuigeordnete Firma: "+fahrerlaubnis.zugeordneteFirma+'<br\>';
                    document.getElementById('messages').innerHTML += "Gueltig seit: "+fahrerlaubnis.gueltigSeit+'<br\>';
                    document.getElementById('messages').innerHTML += "Klassen: ";
                    for(i=0,j=klassen.length; i<j; i++){
                        document.getElementById('messages').innerHTML += klassen[i];
                        if(i == j-1){
                            document.getElementById('messages').innerHTML += "<br\>";
                        }
                        else{
                            document.getElementById('messages').innerHTML += ", ";
                        }
                    }
                    document.getElementById('messages').innerHTML += "Fahrzeugtypen: ";
                    for(i=0,j=fahrzeugtypen.length; i<j; i++){
                        document.getElementById('messages').innerHTML += fahrzeugtypen[i];
                        if(i == j-1){
                            document.getElementById('messages').innerHTML += "<br\>";
                        }
                        else{
                            document.getElementById('messages').innerHTML += ", ";
                        }
                    }
                    document.getElementById('messages').innerHTML += "<br\>";

                    document.getElementById('messages').innerHTML += "<b> Lieferant </b><br\>";
                    document.getElementById('messages').innerHTML += "QS: "+lieferant.qS+'<br\>';
                    document.getElementById('messages').innerHTML += "Lieferantenart: "+lieferant.lieferantenart+'<br\>';
                    if(auftraggeberliste.length > 0){
                        var space = "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
                        document.getElementById('messages').innerHTML += "Auftraggeber Liste: <br/>";
                        for(i=0,j=auftraggeberliste.length; i<j; i++){
                            var auftraggeber = auftraggeberliste[i];
                            document.getElementById('messages').innerHTML += "&nbsp&nbsp&nbsp"+(i+1)+") Auftraggeber:<br/>";
                            document.getElementById('messages').innerHTML += space+"Firmen ID Auftraggeber: "+auftraggeber.firmenIDAuftraggeber+"<br/>";
                            document.getElementById('messages').innerHTML += space+"Auftraggeber Name: "+auftraggeber.auftraggeberName+"<br/>";
                            document.getElementById('messages').innerHTML += space+"QS: "+auftraggeber.qS+"<br/>";
                        }
                    }
                    document.getElementById('messages').innerHTML += "<br\>";
                });
            }
        </script>   </head>         <body onLoad="init()">
        <h3>Uebermittle Ausweisdaten</h3>
        <table>             <tr>
                <td>
                    <br/><b>Ihre Daten: </b><br/><br/>
                    <div id="messages"></div>
                </td>
            </tr>
        </table>     </body> </html>

这些HTML将生成如下内容:

Result

如果我使用AJAX作为入站​​,我可以通过在连接器上指定resourceBase属性来轻松实现。但是,我需要的是:HTTP Get as inbound。

怎么做? http中是否有任何属性,与resourceBase属性类似?感谢

1 个答案:

答案 0 :(得分:1)

使用静态资源处理程序,如here所述。