1
我開發了一個自定義調解器,我想嘗試將它作爲REST服務發佈,並將其發佈爲WSO2 ESB 4.7.0。 一旦我創建了REST API,ESB就會在8280端口上發佈它。 在客戶端,POST REST調用需要指定,我需要通過這個代碼在調解後恢復一些HTTP參數:WSO2 ESB NHttp與HTTP Servlet傳輸
org.apache.axis2.context.MessageContext axis2MsgContext;
axis2MsgContext = ((Axis2MessageContext) synapseMsgContext).getAxis2MessageContext();
HttpServletRequest obj = (HttpServletRequest)axis2MsgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
if (obj != null) {
System.out.println("Method :"+ obj.getMethod());
System.out.println("Content-type :" +obj.getContentType());
System.out.println("Content-length :"+obj.getContentLength());
System.out.println("Remote addtress"+obj.getSession().getLastAccessedTime());
}
我得到的對象總是空 。 這可能是因爲在8280上ESB使用NHttp傳輸。
我該如何解決這個問題?
我有激活HTTP Servlet傳輸嗎?我怎樣才能做到這一點?通過在WSO2 ESB內部安裝WSO2 Application Server(我已經完成了這項工作,但是如何指定我希望在9763端口上暴露服務?)?
HTTP和NHTTP有什麼區別? ESB性能會降低嗎?