2013-04-08 101 views

回答

1

使用header mediator設置「您的」地址標題與您從您指定的屬性中提取的值。

+0

謝謝先生Shelan Perera先生**爲您的快速反應。我爲這個問題使用了header mediator,但是我想要使用End Point的工件,這樣如果需要我可以有更多的靈活性。我如何在端點中使用xpath表達式?我使用了端點模板,但是當我從控制檯中的模板創建端點時,只能在其參數中設置值字段而不是表達式。 我也創建EndPoint再見地址並設置表達與get-property('EPadd'),但它不起作用。我不知道在創建EndPopint時應該在Xpath字段中寫什麼! – 2013-04-10 08:22:03

2

使用Header meditaor設置「to」標題並使用默認端點。請檢查this post以獲取樣本。

+0

該示例適合我!我做的唯一工作就是從頂部刪除標籤,並將它們添加到底部的標籤內。它看起來像這樣:

lsantsan 2015-03-24 17:04:14

0

當服務器未發佈其WSDL時,請參閱Myobis註釋here。嘗試addPort沒有成功。

3

可以然後調用端點「MyEndpoint」設置屬性 ..屬性,要分析一個端點必須與URI開始之前創建端點像

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="MyEndpoint"> 
    <http uri-template="{uri.var.full}?f={uri.var.f}{+uri.var.extra}" method="put"> 
    </http> 
</endpoint> 

我還發現,如果你在屬性名稱前面加一個+,它不會對它進行URI編碼,所以它可以方便地在飛行中創建參數。否則,對於已知參數,可以像上面那樣做paramameter˚F

所以..像

<property name="uri.var.full" value="http://jarhedz.com/viewtopic.php"/> 
<property name="url.var.f" value="2"/> 
<property name="uri.var.extra" value="&t=39"/> 
<send> 
    <endpoint key="MyEndpoint"></endpoint> 
</send> 

應該把你的網址http://jarhedz.com/viewtopic.php?f=2&t=39

(順便說一句,就像一個音符,如果你使用的網頁編輯器,它會抱怨& ..它的越野車a地獄..它保存爲

&amp; 

..並且將其保存爲&或設置

+0

如果URI不是http? – 2018-01-31 15:29:38

0

這個方法對我來說工作正常)使用JavaScript的性能。

我需要創建波紋管動態URL

http://localhost:8787/ {動態參數}

終點URL裏面是這樣

http://localhost:8787/ {uri.var。 servicepath}

設置「測試」變量爲我的動態參數(如果需要設置表達式值設置它)。在屬性介體中設置「測試」值。(我這樣做insideproxy服務)

<property name="uri.var.servicepath" scope="default" type="STRING" value="test"/> 

創建端點

在這裏我創建HTTP終點

<endpoint name="ServiceEP" xmlns="http://ws.apache.org/ns/synapse"> 
    <http method="post" uri-template="http://localhost:8787/{uri.var.servicepath}"/> 
</endpoint> 

那麼你的代理服務或API裏面添加這個端點

<send> 
    <endpoint key="ServiceEP"/> 
</send> 

最後你的代理看起來像這樣

<inSequence> 
    <property name="uri.var.servicepath" scope="default" type="STRING" 
    value="test"/> 

    <send> 
     <endpoint key="SurepayVASAppsEP"/> 
    </send> 
</inSequence> 

這樣你就可以改變每個URL parameter.Ex-:

的http:// {uri.var.hostname} {uri.var.port}/{uri.var.servicepath }