Примите заголовок для JSON, не придерживаясь вызова Siebel REST - PullRequest
0 голосов
/ 28 октября 2019

Мы пытаемся вернуть JSON из внешнего API, который мы вызываем через Rest в Siebel. Установка свойства HDR.Accept ничего не делает, Siebel просто продолжает передавать * / * (показано через вход в Tomcat), что заставляет API возвращать XML вместо JSON.

Мы вызвали тот же API с правильным заголовкомчерез почтальона и получил ответ в формате JSON. Кто-нибудь знает другое свойство, которое можно установить в Siebel для переопределения заголовка Accept? Или они уже видели эту проблему раньше?

Я пытался установить многие свойства, такие как siebel_transport_header: Accept, чтобы Siebel мог применять заголовок Accept, обычно это для пользовательских заголовков, а не для стандартного типа Accept. Я также попробовал HttpAccept, который является старым способом сделать это с EAI, который Siebel вставляет как свойство в JSON, которое не требуется от API.

Вот пример кода eScript:

var outputs = TheApplication().NewPropertySet();
var auth = "auth here"
var io = TheApplication().NewPropertySet();
io.SetType("type");
io.SetProperty("property", value);
io.SetProperty("HDR.Authorization", "Basic " + auth);
io.SetProperty("HDR.Content-Type", "application/json");
io.SetProperty("HDR.Accept", "application/json");
io.SetProperty("isExternalURL", true);
service.InvokeMethod("REST_client-...:post", io, outputs);

Вот журнал JBS (конфиденциальная информация, конечно, исключена):

[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:43.890] [RESTOutbound] Target URL : https://...
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:43.890] [RESTOutbound] UserName : null
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:43.890] [RESTOutbound] calling conversion module to convert PS into JSON 
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:43.890] [RESTOutbound] converted JSON : {"prop1":"prop1"}
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:43.890] [RESTOutbound] calling HttpCaller module for outbound call 
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:44.028] [RESTOutbound] response from outbound call : <?xml version="1.0" encoding="UTF-8" standalone="yes"?><api:response xmlns:api="h"><api:prop1>prop1</api:prop1><api:prop2>prop</api:prop2></api:response>
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:44.028] [RESTOutbound] calling conversion module to convert  JSON into PS 
[SIEBEL INFO]   Thread[http-exec-8,5,main]  [2019-10-24 13:47:44.028] [JBSFactory] Returning the Object to JMS Pool with SiebelTaskID: .siebel.apps.shared.xmlp.RESTOutboundBusvc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...