2014-09-02 3 views
3

OTRS (3.2)를 처음 사용하고 PERL을 처음 사용했지만 OTRS를 설정하여 원격 웹 서비스를 호출하여 레코드를 만들 수 있도록했습니다. 티켓이 "Closed"로 설정된 경우 고객 서비스 담당자가 티켓 세부 정보와 함께 웹 서비스 호출로 전달되는 추가 데이터를 채울 수 있도록 다양한 동적 필드를 설정했습니다. 티켓이 "Closed"되었을 때 webservice 호출을 트리거 할 수 없지만 "우선 순위"가 변경되었을 때 트리거하도록 만들었으므로 지금은 webservice를 테스트하기 위해 사용하고 있습니다. OTRS에 포함 된 Test.pm 및 TestSimple.pm 파일을 사용하고 있습니다. 나는 Webserice의 디버거를 볼 때요청자 테스트로 OTRS Webservice

, 나는 호출이 이루어지고 있다고 볼 수 있습니다

$VAR1 = { 
     'TicketID' => '6' 
    }; 

내 웹 서비스는 현재 방금 테스트를 위해 true를 돌려 "생성"하나의 방법이있다.

그러나 나는이 (가) Test.pm

에서 다음을 얻을

"더 TicketNumber (2014년 9월 2일 9시 20분 42초, 오류)를 얻었다 없다"를하여 TestSimple.pm

에서 다음

"SOAP 호출의 오류 : /TARGET/SHARE/var/otrs/Kernel/GenericInterface/Transport/HTTP/SOAP.pm 라인 578 (2014-09-02 09:20:43, 오류)

에 404 오류가 발생했습니다.

Google에서 수많은 시간을 보냈지 만 찾을 수 없었습니다. 찾을 수있는 것은 T 코드입니다. est.pm 및 TestSimple.pm하지만 아무것도 내 도움에 대한 사용자 정의 호출자를 만들고 OTRS에서 작동하도록 webservice를 구성하는 데 도움이 정말 도움이.

설정 방법을 알아볼 수있는 샘플 인보커가있는 사람이 있습니까?

기본적으로 티켓 정보를 사용자 정의 동적 필드와 함께 웹 서비스에 전달해야합니다. 거기에서 나는 내 마지막에 레코드를 만들고 어떤 처리를 할 수 있습니다. 필요한 티켓 필드와 동적 필드를 전달하도록 호출자를 설정하는 방법과 원격 웹 서비스에서 특정 메서드를 호출하는 방법을 잘 모르겠습니다.

나는 Test.pm과 TestSimple.pm을 작동시키는 것이 첫 번째 단계라고 생각한다. 나는 PERL을 전혀 사용하지 않았으므로 어떠한 도움도 크게 받으실 수 있습니다.

답변

0

나는 또한 비슷한 요구 사항으로 어려움을 겪고 있습니다.

# we need a TicketNumber 
if (!IsStringWithData($Param{Data}->{TicketNumber})) { 
    return $Self->{DebuggerObject}->Error(Summary => 'Got no TicketNumber'); 
} 
: 나는 또한 PERL에 프로그램 된 적이 있지만, 나는 바로 PrepareRequest 방법에서 인 Test.pm에서 "더 TicketNumber을 얻었다 없다"적어도 당신을 말할 수있는, 거기 당신은 코드 블록을 볼 수 있습니다

TicketNumber에 대한 모든 참조를 TicketID로 변경하거나 유효성 검사를 모두 제거해야합니다 (또한 ReturnedData 변수에 매핑 됨).

WS 인터페이스에서 특정 메서드를 호출하는 것은 간단하지만 문서화가 어렵습니다. 웹 서비스 구성의 "요청자로 OTRS"섹션에서 지정한 호출자 이름은 호출 할 WS 메소드에 해당합니다. 따라서 "create"라는 메소드를 가진 WS 인터페이스가 있다면 Invoker에 "create"라는 이름도 붙이십시오.

역동적 인 분야의 모임이가는 한, 아직 미안하지만, 당신을 도울 수 없습니다.

건배