2017-10-05 6 views
0

WSO2 EI 6.1.1을 설치했습니다. http 프록시를 만들었고 요청에서 특정 값을 가져 와서 Java 클래스 조정자를 통해 처리하는 시퀀스를 만들고 있습니다. 나는 표현을 $url:token으로 정의하여 속성 중재자의 URL에서 매개 변수를 성공적으로 가져 왔습니다.시냅스 XPath 변수 참조

또한 http 메서드 (Get, Post, Put ...)와 요청 본문을 얻으려고하지만이를 정의하는 올바른 XPath 변수를 찾을 수 없습니다.

PUT path?token=aaaa HTTP/1.1 
Content-Length: 28 
Host: xx.xx.xx.xx 
Content-Type: application/json 

{ 
"id": 14, 
"value": "+02" 
} 

값이 $의 TRP와 $ 몸 객체에 realted하는 것 같다 내가 캡처하려는 요구 (I 넣어 원하는 JSON 데이터)의 예입니다,하지만 난이 그 (것)들을 얻기에 어떤 참고든지 찾아 낼 수 없습니다.

UPDATE

:

<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/> 
+0

당신의 XPath는 XML 내에서 노드를 선택하는 것을 알기나 해? – kjhughes

+0

나는 그 데이터를 어떻게 얻을 수 있는지 잘 모르겠습니다. 내가 찾고있는 가치가 요청에서 교환 된 데이터에서 XML 형식으로되어 있음을 이해합니다. – jordi

+0

문서에는 $ trp와 $ body (transport anjd body)와 같은 일부 xpath 변수가 설명되어 있지만 데이터를 추출 할 수는 없습니다. – jordi

답변

1

다음을 시도해보십시오 expresion로

정의 $의 몸이 나에게 다음과 같은 내용을 제공합니다.

바디 :

<property name="payload" expression="$body"/> 

HTTP 동사 :

<property name="verb" expression="$axis2:HTTP_METHOD"/> 

또는

<property name="verb" expression="$ctx:HTTP_METHOD"/> 
+0

그것은 방법 (축, 마지막 하나가 아닙니다)을 위해 작동합니다. 그러나 시체를 요청할 때 나는 오직 만 얻습니다. 요청에서 json 컨텐츠의 흔적이 없음 – jordi

+0

Body는 Java 클래스 조정자에서 다음을 사용하여 완전히 얻을 수 있습니다. reqBody = context.getEnvelope(). getBody(). toString(); – jordi