Saturday, May 26, 2012

WSO2 ESB REST TO REST Service Invocation


Followings are the example written in WSO2 ESB in order to communicate REST back end services, basically with WSO2 ESB 4.0.2 onward it has greatly supporting the REST services provided the way to mediate the message and also providing QOS for the exposed services (please follow up ESB samples for more detail http://wso2.org/project/esb/java/4.0.3/docs/samples/rest_api_samples.html#Sample800)  
<messageFormatter contentType="application/x-www-form-urlencoded"
                      class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>

  <messageBuilder contentType="application/x-www-form-urlencoded" class="org.apache.synapse.commons.builders.XFormURLEncodedBuilder"/> 
which allows you to extract incoming REST submit details and do any mediation as you prefer
REST TO REST VIA REST API                                                    
<api name="studentSecureAPI" context="/SecureStudentRequest">
    <resource methods="POST" uri-template="/student/{name}">
        <inSequence>
            <property name="REST_URI" expression="fn:substring($axis2:REST_URL_POSTFIX,16,fn:string-length($axis2:REST_URL_POSTFIX))"/>
            <property name="AGE" expression="//xformValues//age"/>
            <property name="STUDENT" expression="get-property('uri.var.name')"/>
            <property name="DISABLE_CHUNKING" value="true" scope="axis2" type="STRING"/>
            <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
            <property name="ContentType" value="application/x-www-form-urlencoded" scope="axis2" type="STRING"/>
            <property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
            <property name="REST_URL_POSTFIX" expression="$ctx:REST_URI" scope="axis2"/>
            <payloadFactory>
                <format>
                    <POST>
                        <age>$1</age>
                    </POST>
                </format>
                <args>
                    <arg expression="$ctx:AGE"/>
                </args>
            </payloadFactory>
            <send>
                <endpoint>
                    <address uri="http://localhost:9764/as/services/RestService"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
    </resource>
REST TO REST VIA SIMPLE PROXY  :                                                                
<proxy name="StudentRequestProxy" transports="https http" startOnLoad="true" trace="disable">
    <target>
        <inSequence>
            <property name="DISABLE_CHUNKING" value="true" scope="axis2" type="STRING"/>
            <property name="ContentType" value="text/xml" scope="axis2" type="STRING"/>
            <property xmlns:ns3="http://org.apache.synapse/xsd" name="Lang" expression="get-property('transport', 'Accept')" scope="default" type="STRING"/>
            <log level="custom">
                <property name="HTTP_METHOD IS###########" expression="$axis2:HTTP_METHOD"/>
            </log>
            <switch source="$axis2:HTTP_METHOD">
                <case regex="GET">
                    <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
                </case>
                <case regex="POST">
                    <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
                </case>
                <default/>
            </switch>
            <send>
                <endpoint>
                    <address uri="http://localhost:9764/as/services/RestService"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
    </target>
</proxy>

2 comments:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    nước cờ trên bàn thương lượng
    mbp
    erg
    nghịch lý
    chi square test
    nghệ thuật nói chuyện
    coase
    thuyết kỳ vọng
    chiến thắng con quỷ trong bạn
    cân bằng nash

    - Đường Tử Châu cũng tìm tới rồi sao?

    Liễu Đạo Nguyên run lên. Đường Tử Châu là Thị trưởng Kiến Dương, là người rất muốn Cao tốc An Du được xây dựng, là người la hét nhiều nhất, muốn Cao tốc An Du khởi công trong thời gian ngắn nhất. Cao tốc An Du gần như đi hết qua mấy quận, huyện quan trọng nhất của Kiến Dương, Đường Tử Châu là Thị trưởng Kiến Dương nên rất cố sức trong việc này.

    - Ông nói có thể không tìm tới sao? Đây là trọng tâm xem hai ba năm tới Tỉnh ủy nghiêng về việc phát triển Đông Nam hay Tây Bắc. Ai cũng có thể thấy nếu Cao tốc An Du, An Quế khởi công trước, ở đó sẽ chiếm ưu thế trong vài năm, thậm chí mười năm tới. Thậm chí cũng đẩy mạnh tới cả An Nam, An Bắc.

    Thái Chánh Dương thở dài một tiếng, đây là hai sự lựa chọn rất khó khăn.

    Cao tốc An Du nối liền Kiến Dương cùng Miên Châu, hai thành phố có kinh tế kém hơn An Đô một chút mà thôi. Như vậy hành lang kinh tế này sẽ hình thành, qua đó khiến cả vùng Đông Bắc tỉnh phát triển. Chỉ một tiếng là có thể từ An Đô đến Kiến Dương, hai tiếng là tới được Miên Châu, hòa hợp với cả vùng Tây bắc.

    Nếu chỉ nói về lợi ích kinh tế thì Cao tốc An Du nhất định được chọn đầu tiên. Dù sao tỉnh không thể bỏ ra nhiều tài chính như vậy. Tỉnh bỏ một phần, ngân hàng cho vay một phần, sau khi xây dựng xong sẽ lựa chọn việc lập trạm thu phí. Đường cao tốc này sẽ nối thông tất cả các thành phố phát triển nhất tỉnh lại với nhau.

    Mười huyện có kinh tế tốt nhất tỉnh thì Cao tốc An Du đi qua bảy. Lưu lượng xe qua lại nhiều hơn Cao tốc An Quế nhiều, lợi ích kinh tế cũng nhiều, thu hồi nhanh. Đây là hấp dẫn quá lớn đối với tỉnh.

    Nhưng Cao tốc An Quế cũng có ưu thế rõ ràng. Đối với khu vực Đông Nam hơi nghèo thì đây là con đường giàu có. Có bốn quận, huyện trong chín quận, huyện của Thành phố Đường Giang được Cao tốc An Quế đi qua, trong đó có một Quận rất phát triển, ngoài ra còn có một huyện nghèo khó. Trong mười quận, huyện của Tân Châu thì có ba quận, huyện được đi thông. Ngoài ra Vinh Sơn cũng có một huyện nghèo được đi qua.

    ReplyDelete