2014-11-18 5 views
2

다음 json 페이로드를 SOAP 메시지로 변환하고 메시지를 소비자에게 보내면 소비자가 데이터를 편집하고 SOAP 메시지를 다시 보내야합니다.JSON 페이로드에서 SOAP 메시지를 만드는 방법

나는 비누로 그다지하지 않았다. 나는 REST 경험 만 가지고있다. 이와 같은 과정을 수행하기 위해 필요한 단계는 무엇입니까?

어떤 접근 방식이 가장 좋습니까?

[{"salesOrderId":"00004-5-6","saleName":"House Sale","status":"processing"}, {"salesOrderId":"00001-2-3","saleName":"Car Sale","status":"processing"}] 
+0

당신은 이것을 무엇을하고 있습니까? – Xenyal

+0

답장을 보내 주셔서 감사합니다, 나는 Mule에서 그것을하고 있습니다. 어느 자바 기반입니다 –

+0

뮬하지만 익숙하지 않은 [이 질문] (http://stackoverflow.com/questions/20722533/mule-is-there-simple-way-of-converting-xml-to-json) 변환 XML- > JSON. 아마도'json.transformers'가 당신이 필요로하는 것일까요? 여기에는 [JsonToXml] 클래스도 있습니다 (http : // www. – Xenyal

답변

2

그것을하는 가장 쉬운 방법은 사용하여 JSON 페이로드에서 JSON 요소를 추출입니다 <json:json-to-object-transformer/> 그리고 각 노드 값을 Mule의 플로우 변수와 같은 변수에 저장하십시오. 당신의 SOAP의 XML가 생성되면 https://developer.mulesoft.com/docs/display/current/XSLT+Transformer
, 당신은 단순히 에 게시 할 수 있습니다 -이 :
그런 다음 당신은 SOAP 요청 XSLT을 사용하고 <mulexml:context-property/>
심판으로 XSLT에 흐름 변수 값을 전달을 만들 수 있습니다 HTTP
당신이 소비해야하는 외부 웹 서비스를 가리키는 아웃 바운드 엔드 포인트

0

뮬 DataMapper를 사용해보십시오. 따라서 JSON을보다 쉬운 방법으로 XML로 변환 할 수 있습니다. Mule의 Anypoint Studio에서 시험해 볼 수 있습니다.

3

는 예를 들어,이 변환을 수행하기위한 다양한 방법이있다 :

PATH - JSON은 (변압기 또는 문자열 세트 페이로드) XML에 SOAP 요청

  • XML을 사용하여 1

    • XSLT, 변환기 또는 문자열 세트 페이로드.
    • 보내기 SOAP 요청 sobre의 HTTP (POST/컨텐츠 형 : applicacion/XML /의 soapAction)

    PATH - 2

    • JSON 그루비, XSLT 또는 문자열 설정 페이로드를 사용하여 SOAP 요청에 .
    • 는 SOAP 요청 sobre의 HTTP-OUTBOUND 보내기 (POST/컨텐츠 형 : applicacion/XML /의 soapAction)

    PATH - 3

    • JSON SOAP 요청에 대한 프록시 (자바 WSDL) .
    • 는 SOAP 요청 sobre의 HTTP-OUTBOUND (POST/컨텐츠 형 : applicacion/XML /의 soapAction)를 보내기
  • +0

    답장을 보내 주셔서 감사합니다. path-2를 사용하고 json 페이로드를 xml로 변환했습니다. wsdl을 만들어야합니까? 또는 노새가 나를 위해 그것을 수행합니까 –

    +0

    1) 서비스와 관련된 WSDL 가져 오기 2) soapUI를 사용하여 소비 3) SOAP 요청을 기반으로하고 json 또는 기타 변수로 채우기 4) HTTP SOAP를 통해 요청 보내기 . –

    관련 문제