2013-08-02 4 views
0

나는 preprocessor 단계에서 mirth에 자바 객체를 전달했으며,이 자바 객체를 마샬링하기 위해 XML에 마샬링하려고한다. 마샬링을 위해 사용자 정의 자바 클래스를 작성 했으므로 jar 파일로이 자바 클래스를 작성하고 사용자 정의 lib 폴더에 배치했다. 환락. 들어오는 메시지는 로깅하는 동안 은밀하지만 mirth에서 java 개체 (@something 해시 코드)를 표시하면서이 개체를 String으로 변환합니다. 하지만 내 요구 사항은 그대로 개체를 얻는 것입니다 또는 내가 문자열 preprocessor 위상에 전달한 실제 사용자 정의 자바 객체로 문자열 표현 개체를 변환하는 방법입니다. 이것은 마샬링을 위해 작성한 자바 클래스입니다.자바 객체가 Mirth의 전 처리기에서 String으로 변환 중입니까?

public class JAXBMarshalling { 


    public void marshallJavaObjectToXml(OrderDetails orderDetails) { 
     JAXBContext jaxbContext; 
     try { 
      File file = new File(
        "C:\\Program Files (x86)\\Mirth Connect\\conf\\xml\\xmlrepresentation.xml"); 
      jaxbContext = JAXBContext.newInstance(OrderDetails.class); 
      Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); 
      // output pretty printed 
      jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
      jaxbMarshaller.marshal(orderDetails, file); 
      jaxbMarshaller.marshal(orderDetails, System.out); 
     } catch (JAXBException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

답변

0

잘 모르겠습니다. 질문을 잘 이해하고 있습니다. 기본적으로 두 가지 시나리오가 있습니다. 즉, 채널 또는 채널 사이에서 오브젝트를 전달하려고 할 때입니다. 개체를 메시지의 일부로 외부 대상에 전달하려고 할 때 사용할 수 있습니다.

첫 번째 경우 글로벌 채널 맵을 사용해야합니다. 다른 두 맵은 데이터베이스에 유지되므로 Mirth Connect가이를 문자열로 변환하기 때문입니다. 두번째 경우에 <! [CDATA [...]] >을 사용하여 무시할 부분을 파서에 알려주십시오.

후속 작업으로이 시나리오가 모두 언급되는 Unofficial Mirth Connect Developer’s Guide을 제안합니다. (면책 조항 : 저는이 책의 저자입니다.)

관련 문제