Advertisement
Guest User

Untitled

a guest
Apr 14th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. <api xmlns="http://ws.apache.org/ns/synapse" name="tririgaProxy" context="/services">
  2. <resource methods="GET" url-mapping="/employee">
  3. <inSequence>
  4. <sequence key="tririgaConf"/>
  5. <property name="triUser" expression="get-property('triUser')"/>
  6. <property name="triPass" expression="get-property('triPass')"/>
  7. <property name="triURL" expression="get-property('triURL')"/>
  8. <property name="triWfName" expression="get-property('triPeople.database.employee.wfName')"/>
  9. <class name="com.wso2.tririga.mediator.IncomingMediator"/>
  10. <payloadFactory media-type="text">
  11. <format><![CDATA[$1]</format>
  12. <args>
  13. <arg evaluator="xml" expression="/status/text()"/>
  14. </args>
  15. </payloadFactory>
  16. </inSequence>
  17. </resource>
  18.  
  19. package com.wso2.tririga.mediator;
  20.  
  21. import java.io.IOException;
  22. import java.net.URI;
  23. import java.net.URISyntaxException;
  24.  
  25. import org.apache.commons.logging.Log;
  26. import org.apache.commons.logging.LogFactory;
  27. import org.apache.http.HttpEntity;
  28. import org.apache.http.HttpResponse;
  29. import org.apache.http.client.ClientProtocolException;
  30. import org.apache.http.client.ResponseHandler;
  31. import org.apache.http.client.methods.HttpGet;
  32. import org.apache.http.client.methods.HttpRequestBase;
  33. import org.apache.http.client.utils.URIBuilder;
  34. import org.apache.http.impl.client.CloseableHttpClient;
  35. import org.apache.http.impl.client.HttpClients;
  36. import org.apache.http.util.EntityUtils;
  37. import org.apache.synapse.MessageContext;
  38. import org.apache.synapse.mediators.AbstractMediator;
  39. import org.apache.synapse.util.PayloadHelper;
  40.  
  41. public class IncomingMediator extends AbstractMediator {
  42. private static final Log log = LogFactory.getLog(IncomingMediator.class);
  43.  
  44. @Override
  45. public boolean mediate(MessageContext msgContext) {
  46. String triUser = String.valueOf(msgContext.getProperty("triUser"));
  47. String triPass = String.valueOf(msgContext.getProperty("triPass"));
  48. String triURL = String.valueOf(msgContext.getProperty("triURL"));
  49. String triWfName = String.valueOf(msgContext.getProperty("triWfName"));
  50.  
  51. try {
  52. URI uri = new URIBuilder(triURL)
  53. .addParameter("USERNAME", triUser)
  54. .addParameter("PASSWORD", triPass)
  55. .addParameter("ioName", triWfName).build();
  56. log.info("URI: "+uri.toString());
  57. String response = execute(uri);
  58. PayloadHelper.setTextPayload(msgContext, convertToXML(response));
  59. } catch (URISyntaxException e) {
  60. log.error("Error while creating URI", e);
  61. }
  62. return true;
  63. }
  64.  
  65. private static String execute(URI uri) {
  66. String responseBody = null;
  67. CloseableHttpClient httpclient = HttpClients.createDefault();
  68. try {
  69. HttpGet get = new HttpGet();
  70. ((HttpRequestBase) get).setURI(uri);
  71. ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
  72. @Override
  73. public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
  74. int status = response.getStatusLine().getStatusCode();
  75. if (status >= 200 && status < 300) {
  76. HttpEntity entity = response.getEntity();
  77. String responseStr = EntityUtils.toString(entity);
  78. return "Successful".equalsIgnoreCase(responseStr) ? "RetCode=C;Message=Success" : "RetCode=F;Message=Failed because Itegration Exception";
  79. } else {
  80. throw new ClientProtocolException("Unexpected response status: " + status);
  81. }
  82. }
  83. };
  84. try {
  85. responseBody = httpclient.execute(get, responseHandler);
  86. } catch (ClientProtocolException e) {
  87. e.printStackTrace();
  88. } catch (IOException e) {
  89. e.printStackTrace();
  90. }
  91. } finally {
  92. try {
  93. httpclient.close();
  94. } catch (IOException e) {
  95. e.printStackTrace();
  96. }
  97. }
  98. return responseBody;
  99. }
  100.  
  101. private static String convertToXML(String response){
  102. return"<status>"+response+"</status>";
  103. }
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement