2017-03-14 5 views
1

Ich habe einen Fluss, der eine HTTP-POST-Anfrage an einen Web-Service sendet. Anstatt die erwartete SOAP-XML-Antwort zurückzugeben, kehrt sie mit einer Seitenumleitung zurück. Beim Testen des Dienstes verwende ich SOAPUI. Ich verwende die gleiche URL und POST-Anfrage mit dem gleichen Körper. Ich bekomme tatsächliche Daten. Keine SeitenweiterleitungenMule HTTP POST-Anfrage gibt 302 Seite Redirect

Mein Flow sieht wie folgt aus:

<flow name="webService_Flow"> 
    <http:listener 
     config-ref="HTTP_Listener_Configuration" 
     path="/getWS" 
     allowedMethods="GET" 
     doc:name="HTTPS"/> 
    <parse-template 
     location="templates/ws.template" 
     mimeType="text/xml" 
     doc:name="Parse Template"/> 
    <http:request 
     config-ref="HTTP_Request_Configuration" 
     path="${webservice.request.path}" 
     method="POST" 
     doc:name="HTTP"> 
     <http:request-builder> 
      <http:header headerName="Content-Type" value="text/xml"/> 
     </http:request-builder> 
     <http:failure-status-code-validator values="302"/> 
    </http:request> 
    <flow-ref 
     name="transformWS_subflow" 
     doc:name="Transform WS"/> 
    <logger 
     message="#[message]" 
     level="INFO" 
     category="HTTP_MESSAGE" doc:name="Logger"/> 
</flow> 

Der HTTP-Request-Anschluss wie folgt aussieht:

<http:request-config 
    name="HTTP_Request_Configuration" 
    protocol="HTTPS" 
    host="${webservice.host}" 
    basePath="${webservice.path}" 
    port="${webservice.port}" 
    followRedirects="false" 
    doc:name="HTTP Request Configuration"/> 

ich die URL überprüft haben, die Wege, den Port und das Protokoll. Irgendeine Idee, wie man das behebt?

+0

Ich habe sogar versucht, den Web-Service-Consumer-Connector. Ich bekomme Seitenweiterleitungen. – tbriscoe

Antwort

0

Das Einstellen der folgeRedirects auf True sollte den Trick tun. Sie setzen es in Ihrer Konfiguration auf "false", damit alle Weiterleitungen zurückgegeben werden, wie sie sind. HTH

+0

Immer noch Seite umleiten auf Webseite. Keine Daten. Ich habe einen fast identischen Fluss zu einem anderen Dienst. Es klappt. Das ist es, was mich verwirrt. – tbriscoe

+0

Können Sie versuchen, mit dem followRedirects = "True" plus einen expliziten Host-Header zu senden, was auch immer der Host ist? Ich habe etwas Ähnliches gesehen, als der Server den impliziten Host-Header, der den Port enthält, nicht verarbeiten konnte. – afelisatti

+0

Kein Erfolg, aber es kehrte mit einer 404-Seite statt einer 302-Seite-Weiterleitung zurück. Ich werde etwas damit basteln, vielleicht hast du da was. – tbriscoe