TestTPCallServiceXOctet.java
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:1k
源码类别:

中间件编程

开发平台:

Java

  1. package org.jboss.blacktie.jatmibroker.xatmi;
  2. import java.util.Arrays;
  3. import org.apache.log4j.LogManager;
  4. import org.apache.log4j.Logger;
  5. public class TestTPCallServiceXOctet implements BlacktieService {
  6. private static final Logger log = LogManager
  7. .getLogger(TestTPCallServiceXOctet.class);
  8. public Response tpservice(TPSVCINFO svcinfo) {
  9. log.info("test_tpcall_x_octet_service");
  10. boolean ok = false;
  11. if (svcinfo.getBuffer() != null) {
  12. byte[] received = ((X_OCTET) svcinfo.getBuffer()).getByteArray();
  13. byte[] expected = new byte["test_tpcall_x_octet".getBytes().length + 1];
  14. System.arraycopy("test_tpcall_x_octet".getBytes(), 0, expected, 0,
  15. received.length - 1);
  16. if (Arrays.equals(received, expected)) {
  17. ok = true;
  18. }
  19. }
  20. int len = 60;
  21. X_OCTET toReturn;
  22. try {
  23. toReturn = (X_OCTET) svcinfo.tpalloc("X_OCTET", null);
  24. if (ok) {
  25. toReturn.setByteArray("tpcall_x_octet".getBytes());
  26. } else {
  27. StringBuffer buffer = new StringBuffer("fail");
  28. if (svcinfo.getBuffer() != null) {
  29. buffer.append(new String(((X_OCTET) svcinfo.getBuffer())
  30. .getByteArray()));
  31. } else {
  32. buffer.append("dud");
  33. }
  34. toReturn.setByteArray("fail".getBytes());
  35. }
  36. return new Response(Connection.TPSUCCESS, 20, toReturn, len, 0);
  37. } catch (ConnectionException e) {
  38. return new Response(Connection.TPFAIL, Connection.TPEOTYPE, null,
  39. 0, 0);
  40. }
  41. }
  42. }