2011-07-01 13 views
5

Pobiegłem tego pliku Mule 3 oczekując, że kiedy przejść do http://localhost:9000, chciałbym zostać przekierowany do http://localhost/path (source - za wierszu Login):Jak zbudować prosty serwer proxy w Mule 3?

<?xml version="1.0" encoding="UTF-8"?> 
<mule xmlns="http://www.mulesoft.org/schema/mule/core" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:pattern="http://www.mulesoft.org/schema/mule/pattern" 
     xsi:schemaLocation=" 
      http://www.mulesoft.org/schema/mule/pattern http://www.mulesoft.org/schema/mule/pattern/3.1/mule-pattern.xsd 
      http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.1/mule.xsd"> 

    <pattern:web-service-proxy 
     name="WSProxyService" 
     inboundAddress="http://localhost:9000" 
     outboundAddress="http://localhost/sugarcrm"/> 

</mule> 

zamian otrzymuję ten nieprzyjazny wiadomość z przeglądarki internetowej:

‹mO=OÃ0Ýó+ŽL0KÂÈX‚&ˆJ-DÂŒ×øÀ•ì8rÜJý÷8)bb9éî}Ü{â¢y[©Ï®…µÝ@÷ñ´Y¯ ¿F\·ê±QÍ©‹±}Íe&LtV äÓ÷Ѳ¼)+Øú#kè88xˆö$ðf²Øy}šõ•ü‡›®™¥2Ú÷—Î`h·P üõ›Ç{Dë{²ÆO§Ã7…>8Ì¥áÀIÇùOHƒ´ 

Odpowiedz

6

Wzorzec serwera proxy usług sieciowych został zaprojektowany do pracy z usługami sieciowymi w stylu SOAP. Wskazanie przeglądarki na to nie przyniesie ci żadnego pożytku.

Do czystego proxy HTTP albo:

  • użyć nowego wzoru: http proxy najbliższych muł 3.2 i już wykorzystywane w migawce buduje (examples)
  • użyciu wzoru: mostek z HTTP i out endpoints (examples).

Pierwsza z nich jest znacznie lepszą opcją, jeśli nie masz awersji, ponieważ ma rozszerzoną obsługę semantycznych żądań HTTP i nadchodzącego modułu buforowania.

+0

Czy wystarczy dodać 'wsdlLocation =" http: // localhost/path? Wsdl "', aby włączyć usługę sieciową w stylu SOAP wewnątrz elementu 'pattern'? – Tshepang

+3

Domyślnie wzorzec web-service-proxy pobiera plik WSDL z pliku outboundAddress + "? Wsdl", więc należy określić pozycję WSDLLocation tylko wtedy, gdy plik WSDL nie znajduje się w domyślnej lokalizacji. –

1

Miałem podobny problem, chociaż użyłem soapUI do wykonania testu. Rozwiązanie po kilku dniach gubienia się jest proste, skonfiguruj soapUI, aby nie używał/nie pozwala na kompresję. To, co widzisz, to właściwie skompresowana odpowiedź, której serwer nie oznaczył jako skompresowany.