2012-09-20 2 views
1

oracle에서 웹 서비스에 액세스하기 위해 soap_api 메서드를 사용하고 있습니다. add_numbers 함수를 생성하고 add_numbers 함수를 실행하면 함수가 실행되지 않습니다. 요청이 oracle 10g pl/sql 프로 시저에서 웹 서비스에 액세스

  • ORA-06512 실패 HTTP : "SYS.UTL_HTTP"에서, 라인 선택 성명에서 웹 서비스를 호출 할 때 오류를 다음 화재

    select add_numbers(2,5) from dual 
    

    오류 ORA-29273

    • 입니다 1029
    • ORA-12541 : TNS : 아니오 청취자
    • ORA-06512 : "dbtest.SOAP_API"라인에서 144
    • ORA-06512 : "dbtest.ADD_NUMBERS"에서 34 줄 FROM!


  • 나는이 기능이 링크에서 soap_api 방법을 사용하고 있습니다. 웹 서비스를 호출하기위한
    http://www.oracle-base.com/articles/9i/consuming-web-services-9i.php#Top

    기능에서 예를 촬영.

    CREATE OR REPLACE FUNCTION add_numbers (p_int_1 IN NUMBER, p_int_2 IN NUMBER) RETURN NUMBER AS 
        l_request soap_api.t_request; 
        l_response soap_api.t_response; 
        l_return VARCHAR2(32767); 
        l_url   VARCHAR2(32767); 
        l_namespace VARCHAR2(32767); 
        l_method  VARCHAR2(32767); 
        l_soap_action VARCHAR2(32767); 
        l_result_name VARCHAR2(32767); 
    BEGIN 
        l_url   := 'http://192.168.0.75:9001/LicWebService.asmx'; 
        l_namespace := 'xmlns="http://192.168.0.75:9001/"'; 
        l_method  := 'AddNum'; 
        l_soap_action := 'http://192.168.0.75:9001/AddNum'; 
        l_result_name := 'return'; 
        l_request := soap_api.new_request(p_method => l_method, p_namespace=> l_namespace); 
        soap_api.add_parameter(p_request => l_request,p_name => 'int1',p_type => 'xsd:integer',p_value => p_int_1); 
        soap_api.add_parameter(p_request => l_request,p_name=> 'int2', p_type=> 'xsd:integer',p_value => p_int_2); 
        l_response := soap_api.invoke(p_request => l_request, p_url=> l_url, p_action => l_soap_action); 
        l_return := soap_api.get_return_value(p_response => l_response,p_name=> l_result_name, p_namespace => NULL); 
    END; 
    

    어디서 실수했는지 제안 해주세요.

    +0

    오라클이 포트 9001을 올바로 처리하지 못했다는 것이 확실합니다. 해결책이 무엇인지 알아 냈습니까? –

    답변

    1

    TNS가 제대로 설정되지 않았거나 TNS 서비스가 실행되고 있지 않습니다. 이것이 UTL_HTTP API가 작동하지 않는 이유입니다 (SOAP_API에 의해 사용됨).

    this 링크를 따라 문제를 해결하고 해결하십시오.

    +0

    안녕 Annjawn, 회신 주셔서 감사합니다, 하지만 호스트 된 내 응용 프로그램에서 데모 웹 서비스에 액세스 할 때, 나는 액세스 할 수없는 경우 내 로컬 호스트에서 웹 서비스에 액세스하려고 할 때 하지만 액세스 할 수 있습니다. 이것은 다른 웹 서비스에 액세스 할 수 있기 때문에 oracle 서버 측 구성에 문제가 없음을 의미합니다. –