안녕하세요. xe 모듈개발 입문자입니다.
xml-rpc api모듈제작 관련하여 여러가지 자료를 수집해서 스터디를 진행해보고 있습니다.
현재 https://xe1.xpressengine.com/tip/18414622 게시글의 4번을 토대로 api 모듈을 만들어 보던중,
response 값이 -1 잘못된 요청입니다. 라는 메시지에 막혀서 진행을 못하고 있어서 도움 좀 부탁하려고
이렇게 글을 올려봅니당..
제가 시도해본건
1. 위 링크글에서 배포해주신 test_api 모듈을 xe/modules에 만들구,
2. test.php파일을 xe/에 이동시킨후 아래처럼 수정하였습니다.
<?php // _XE_PATH_ 생성 define("_XE_PATH_", str_replace("test.php", "", str_replace("\\", "/", __FILE__))); // FileHandler(PEAR,Socket) 등을 사용하기 위해서 XE 정보를 선언 define('__XE__', TRUE); require_once(_XE_PATH_."config/config.inc.php"); $uri = "http://weblab.pe.kr/demo"; $body = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> <methodCall> <params> <module><![CDATA[test_api]]></module> <act><![CDATA[dispContentView]]></act> </params> </methodCall>"; $buff = @FileHandler::getRemoteResource($uri, $body, 3, "POST", "application/xml"); echo $buff; ?>
결과로는 아래 캡쳐처럼 나옵니다.
제가 사용한 파일입니다.
혹시 몰라 웹호스팅에서 테스트한 url도 남겨봅니다.
http://weblab.pe.kr/demo/test.php
xe코어 버전은 1.8.41과 1.8.42 두버전에서 시도해보았습니다.
어디를 확인해야 되는지 힌트라도 부탁드립니당 ㅠㅠ
제가 잘하고 있는지는 모르겠지만, 현상해결에 대한 내용을 저와 같은 초보자분들을 위해 남겨봅니다.
[자문자답1] - 직접호출을 통한 테스트
최신코어에서는 conf/module.xml의 act 유형을 view가 아니라 api로 설정해야 작동하는군요..
http://도메인/xe/index.php?module=test_api&act=dispContentView 하면 아래와 같이 test코드는 동작합니다.
[자문자답2] - 외부호출을 통한 파라미터값(input, output) 테스트
진행중..