ServiceNow에서 Java HttpClient로 작업

3136 단어 ServiceNow

만드는 것



ServiceNow의 Server Side Script에서 Java HttpClient를 조작합니다.



Scripts - Background에서 사용해보기



ServiceNow는 [System Web Service] - [▼Outbound] - [SOAP Message], [System Web Service] - [▼Outbound] - [REST Message]와 ServiceNow에서 외부 사이트로 HTTP Request를 보내는 기능을 제공합니다. 하지만

[ServiceNow에서 HTTP Request/Response를 실행하여 Script에 내장하는 방법 확인]
htps : // 코 m / 20_ 페르 센 t_ 코 오 r / ms / 468 에 dc9 아

외부 사이트의 Web Server에 있어서 Http Responce의 Header에 Set-Cookie를 지정되었을 경우에 상기 기능만으로 일단 받고 다음의 HTTP Request로 설정하는 것이 어려웠기 때문에 그 밖에 방법이 없는지 검색한 바 , 다음 정보를 찾았습니다.

[HTTP POST to external url - Developer Community - ServiceNow Community](
htps : // 혼자서 ty. 세레 ゔ 세세의 w. 코 m/쯤에 ty? d = 05b01f69dbdcdbc01d 또는 f3231f961973

This should get you started. It is basically just the Java HttpClient library so the javadocs have been helpful to us in figuring out obscure details.
var client = new Packages.org.apache.commons.httpclient.HttpClient();
var post = new Packages.org.apache.commons.httpclient.methods.PostMethod("http://www.exampledestination.com/page_to_post_to.html");
post.addParameter("parameter_name", "parameter value");
var returnCode = client.executeMethod(post);
var output = "" + post.getResponseBodyAsString();

위 코드의 url 값을 ぁ tp : // 에어 mpぇ. 이 m로 변경하여 마지막 줄에 화면에 인쇄하는 문장을 추가하고
var client = new Packages.org.apache.commons.httpclient.HttpClient();
var post = new Packages.org.apache.commons.httpclient.methods.PostMethod("http://www.example.com");
post.addParameter("parameter_name", "parameter value");
var returnCode = client.executeMethod(post);
var output = "" + post.getResponseBodyAsString();
gs.print(output);

[Scripts - BackGround]의 Run script(JavaScript execute on server)에 복사하여



실행 스크립트를 클릭하여 실행하여 성공했습니다.



Java의 HttpClient를 사용할 수 있으면 Set-Cookie를 그대로 받을 수 있으므로 인증 허가 처리가 있는 Web Server와 이야기할 때 등 편리할 것 같습니다.

어플리케이션에 짜넣는 경우에는 상기 코드를 Server Side의 Script Include에 Client Callable로 구현해 Client에서는 UI Action의 버튼으로부터 읽어들여 실행이라고 하는 느낌으로 할 수 있을 것 같습니다

좋은 웹페이지 즐겨찾기