gpt4 book ai didi

java - Payload Factory 内的 Get argument 属性出现问题

转载 作者:行者123 更新时间:2023-12-01 14:25:17 25 4
gpt4 key购买 nike

我正在尝试通过 ESB 调用从 JSON 客户端到 DSS 服务器的请求,我正在尝试调用获取数据服务,客户端代码、ESB 顺序配置如下所示。我收到服务器错误,如下所示:

LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:da913ea8-4122-4f58-9732-4106a55b465a, Direction: response, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Unexpected error sending message back, Envelope:

客户端代码是:

 URL url = new URL("http://xxx:xx:xx:xxx/entitytype");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String studentDetails = "{\"hierarchyEntityRequest\":{\"entityName\":\"Chandragiri\",\"parentEntity\":900000001}}";

System.setProperty("studentDetails",studentDetails);
OutputStream os = conn.getOutputStream();
os.write(studentDetails.getBytes());
os.flush();

if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}

BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));


conn.disconnect();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

ESB 配置服务是:

           <payloadFactory>
<format>
<p:getEntityById xmlns:p="http://com.pcs.entity">
<xs:data xmlns:xs="http://com.pcs.entity">get-property('uri.var.myhierachy')</xs:data>
</p:getEntityById>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('uri.var.myhierachy')"/>
</args>
</payloadFactory>
<enrich>
<source clone="true" type="body"/>
<target action="replace" type="property" property="myhierachy"/>
</enrich>
<enrich>
<source clone="true" type="body"/>
<target action="replace" type="property" property="myhierachy"/>
</enrich>
<send>
<endpoint key="HierarchyService"/>
</send>
<property name="messageType" value="application/json" scope="axis2" type="STRING"/>
<log level="full" category="TRACE"/>

最佳答案

如果您想将消息发送到 DSS 服务器并且不返回响应,您可以将“OUT_ONLY”属性指定为“true”,如下所述。

<property action="set" name="OUT_ONLY" value="true"/>

如果您想获得对客户端的响应,您可以将调解器作为配置的最后一个元素或包含在输出序列中。

<send/>

关于java - Payload Factory 内的 Get argument 属性出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com