2017-03-03 4 views
0

Ich gründe meine Anwendungseigenschaften wie folgt:Mule: Illegale Zeichen im Pfad im Index

consumptionAPI.host = consumptionapi.dev.xxx.com 
    consumptionAPI.report = report 
    consumptionAPI.month = month 
    consumptionAPI.csv = monthly.csv 

und in meiner Konfiguration Zugriff auf wie folgt:

 <http:request-config name="HTTP_Request_Configuration" host="${consumptionAPI.host}" port="80" doc:name="HTTP Request Configuration"/> 




    <http:request config-ref="HTTP_Request_Configuration" path="${consumptionAPI.report}/${consumptionAPI.year}/{yr}/${consumptionAPI.month}/{mth}/${consumptionAPI.csv}" method="GET" doc:name="HTTP"> 

    <http:request-builder> 
      <http:uri-param paramName="yr" value="[flowVars.year]"/> 
      <http:uri-param paramName="mth" value="[flowVars.month]"/> 
     </http:request-builder> 
    </http:request> 

aber wenn die Strömung ich das bekommen laufen Folgefehler:

java.net.URISyntaxException: Unzulässiges Zeichen in der Autorität bei Index 7: http: // $ {consumptionAPI.host}: 80/$ {consumptionAPI.report}/$ {consump.API.year}/[flowVars .Jahr]/$ { consumptionAPI.month}/[flowVars.month]/$ {consumptionAPI.csv}

Es scheint nicht das erste Zeichen in der URL, aber nicht sicher, warum.

Übrigens, wenn ich die URL fest codiere, funktioniert es gut.

bin ich etwas fehlt?

Antwort

0

Wenn Sie für $ {consumptionAPI.year} keinen Wert angeben, werden die Klammern $ und curley im Pfad beibehalten. Dies könnte je nach Dateisystem ein Problem sein.

Oder es könnte auf "//" herunterfallen, in jedem Fall könnte es Probleme verursachen.

+0

gut-Datei, die ich vorbei bin in als ein Abfrageparameter, den ich in die konstruierte URL einstecken werde. – insaneyogi

+0

Ich habe es gerade nicht in deinen Eigenschaften gesehen ... und dein Pfad würde mit "report /" beginnen, was 7 Zeichen ist ... –

0

Sie haben value="[flowVars.year]" erwähnt und es sollte value="#[flowVars.year]" sein.
In beiden FlowVars-Ausdruck haben Sie # für beide Monat und Jahr Flow-Variablen verpasst.

So in Ihrer URL http://${consumptionAPI.host}:80/${consumptionAPI.report}/${consumptionAPI.year}/[flowVars.year]/${consumptionAPI.month}/[flowVars.month]/${consumptionAPI.csv} sein nicht in der Lage, den Wert

und auch alle Variablen, die Sie in Ihrer URL in ${} dort definiert sind erwähnt stellen Sie sicher, zu bewerten in Ihren Eigenschaften

Verwandte Themen