ORA-29266: end-of-body reached - using SOAP_API over SSL

Hey guys. I have a simple SOAP_API I am using to send SOAP over SSL. It seems to connect fine but give off some shaky results. This is the error I keep getting:
ERROR at line 1:
ORA-29266: end-of-body reached
ORA-06512: at "SYS.UTL_HTTP", line 1321
ORA-06512: at "LOANADMIN.SOAP_API", line 229
ORA-06512: at "LOANADMIN.GET_CITY_FROM_ZIPCODE", line 29
ORA-06512: at line 2
it seems to mainly happen on these two peices of code:
UTL_HTTP.write_text(l_http_request, l_envelope);
UTL_HTTP.read_text(l_http_response, l_envelope);
Sometimes the first and sometimes the latter. I know my XML is well formed, and im thinking the response is to big for the variable (im thinking the response could be larger than 32k. not sure though).
I've searched all over this forum, but it seems like the people who have solutions to this particular problem found it on meta-link. I dont have a meta-link account. Could someone please simply explain the solution and problem im running into?
That would help a lot. Thanks.
Mo

I'm having the same problem, and it is inside the SOAP_API package from http://www.oracle-base.com/dba/miscellaneous/soap_api.sql :
ORA-29266: end-of-body reached
ORA-06512: at "SYS.UTL_HTTP", line 1330
ORA-06512: at "NAPS.SOAP_API", line 119
I understand the responses given:
EXCEPTION WHEN UTL_HTTP.end_of_body THEN
utl_http.end_response(resp);
END;
and the suggestion to use UTL_HTTP.read_line instead of UTL_HTTP.read_text, but would like some assistance in modifying the procedure to ensure I get the full response returned.
The procedure with the error is:
FUNCTION invoke(p_request IN OUT NOCOPY t_request,
p_url IN VARCHAR2,
p_action IN VARCHAR2)
RETURN t_response AS
l_envelope VARCHAR2(32767);
l_http_request UTL_HTTP.req;
l_http_response UTL_HTTP.resp;
l_response t_response;
BEGIN
generate_envelope(p_request, l_envelope);
show_envelope(l_envelope);
l_http_request := UTL_HTTP.begin_request(p_url, 'POST','HTTP/1.1');
UTL_HTTP.set_header(l_http_request, 'Content-Type', 'text/xml');
UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_envelope));
UTL_HTTP.set_header(l_http_request, 'SOAPAction', p_action);
UTL_HTTP.write_text(l_http_request, l_envelope);
l_http_response := UTL_HTTP.get_response(l_http_request);
UTL_HTTP.read_text(l_http_response, l_envelope);
UTL_HTTP.end_response(l_http_response);
l_response.doc := XMLTYPE.createxml(l_envelope);
l_response.envelope_tag := p_request.envelope_tag;
l_response.doc := l_response.doc.extract('/'||l_response.envelope_tag||':Envelope/'||l_response.envelope_tag||':Body/child::node()',
'xmlns:'||l_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/"');
-- show_envelope(l_response.doc.getstringval());
check_fault(l_response);
RETURN l_response;
END;
I have tested the exact call I am making using 'soapUI 2.5.1' so I can compare results to ensure I get the code right, and I am expecting a response of 1755 bytes (well short of the 32767 that is said to cause this error).
My call is not over SSL, the call I am trying to make is:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abr="http://abr.business.gov.au/ABRXMLSearchRPC/">
<soapenv:Header/>
<soapenv:Body>
<abr:ABRSearchByABN soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<searchString xsi:type="xsd:string">11006489103</searchString>
<includeHistoricalDetails xsi:type="xsd:string">N</includeHistoricalDetails>
<authenticationGuid xsi:type="xsd:string">?</authenticationGuid>
</abr:ABRSearchByABN>
</soapenv:Body>
</soapenv:Envelope>
The calling code is:
DECLARE
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://abr.business.gov.au/abrxmlsearchRPC/ABRXMLSearch.asmx';
l_namespace := 'http://abr.business.gov.au/ABRXMLSearchRPC/"';
l_method := 'ABRSearchByABN';
l_soap_action := 'http://abr.business.gov.au/ABRXMLSearchRPC/ABRSearchByABN';
l_request := soap_api.new_request(p_method => l_method,
p_namespace => l_namespace);
soap_api.add_parameter(p_request => l_request,
p_name => 'searchString',
p_type => 'xsd:string',
p_value => '11006489103');
soap_api.add_parameter(p_request => l_request,
p_name => 'includeHistoricalDetails',
p_type => 'xsd:string',
p_value => 'N');
soap_api.add_parameter(p_request => l_request,
p_name => 'authenticationGuid',
p_type => 'xsd:string',
p_value => '?');
l_response := soap_api.invoke(p_request => l_request,
p_url => l_url,
p_action => l_soap_action);
l_return := l_response.doc.getStringVal();
dbms_output.put_line('-----------------------------------------------------------');
dbms_output.put_line(l_return);
END;
Edited by: 873298 on 18-Jul-2011 15:41

Similar Messages

  • REST web-service invocation gives error ORA-29266: end-of-body reached

    We are trying to consume a REST web-service. We send county code and country name to the WS, it then inserts the data and sends us a response in XML.
    I used this PL/SQL code to invoke the rest WS.
    http://blog.warp11.nl/2011/07/calling-a-rest-webservice-with-plsql/
    Problem is there is an error ORA-29266, when processing the utl_http.read_text(t_http_resp, t_respond);
    The error means that there is no response. i.e. NULL response.
    We can PING the service the WS is, so we are not using authentication. Could this be the problem?
    Any help could be greatly appreciated.
    Edited by: user12240205 on Aug 5, 2011 3:33 AM

    We are trying to consume a REST web-service. We send county code and country name to the WS, it then inserts the data and sends us a response in XML.
    I used this PL/SQL code to invoke the rest WS.
    http://blog.warp11.nl/2011/07/calling-a-rest-webservice-with-plsql/
    Problem is there is an error ORA-29266, when processing the utl_http.read_text(t_http_resp, t_respond);
    The error means that there is no response. i.e. NULL response.
    We can PING the service the WS is, so we are not using authentication. Could this be the problem?
    Any help could be greatly appreciated.
    Edited by: user12240205 on Aug 5, 2011 3:33 AM

  • "end-of-body reached" Error when consuming web service from 10GR1

    Hi all,
    Im consuming a number of web services, all of which work fine apart from one which returns the error:
    29266. 00000 - "end-of-body reached"
    *Cause:    The end of the HTTP response body was reached.
    *Action:   If the end of the HTTP response is reached prematurely, check if
    the HTTP response terminates prematurely. Otherwise, end the
    HTTP response.
    I don't understand why this is happening and would really appreciate some help. I have checked the invoke procedure and there is a ' utl_http.end_response(http_resp);' call which online searching suggests can be a cause of the problem (if not used). The procedure which calls the service is:
    function Events_Insert(id varchar2, pwd varchar2) return clob as
    req opf_portal.pkg_call_web_services.request;
    resp opf_portal.pkg_call_web_services.response;
    aEventRecord varchar2(4000);
    begin
    req := opf_portal.pkg_call_web_services.new_request('Events_Insert', 'xmlns="<removed>');
    aEventRecord:='<Options>
    <EventOptionRecord>
    <Comments>None</Comments>
    <Quantity>1</Quantity>
    <OptionID>53</OptionID>
    </EventOptionRecord>
    <EventOptionRecord>
    <Comments>None</Comments>
    <Quantity>1</Quantity>
    <OptionID>53</OptionID>
    </EventOptionRecord>
    </Options>
    <Badges>
    <EventBadgeRecord>
    <Company>Oracle</Company>
    <JobTitle>Consultant</JobTitle>
    <Name>GregCox</Name>
    <EventBadgeRecord>
    </Badges>
    <SpecialRequirements>
    <EventSpecialRequirementRecord>
    <Notes>bob</Notes>
    <Pvkey>110606</Pvkey>
    <RequirementCode>VEG</RequirementCode>
    </EventSpecialRequirementRecord>
    </SpecialRequirements>
    <Pvkey>110606</Pvkey>
    <DelegateType>DELEGATE</DelegateType>
    <EventID>524938</EventID>';
    opf_portal.pkg_call_web_services.add_parameter(req, 'userid', 'xsd:string', id);
    opf_portal.pkg_call_web_services.add_parameter(req, 'password', 'xsd:string', pwd);
    opf_portal.pkg_call_web_services.add_parameter(req, 'aEventRecord', 'xsd:complexType', aEventRecord);
    resp := opf_portal.pkg_call_web_services.invoke(req, '<removed>', '<removed>');
    return resp.doc.getstringval();
    end;

    Incase anybody else encounters this problem, it was my XML that was invalid:
    <EventBadgeRecord>
    <Company>Oracle</Company>
    <JobTitle>Consultant</JobTitle>
    <Name>GregCox</Name>
    <EventBadgeRecord>
    was missing '/' in closing tag

  • Dreamweaver (on Windows 7) wont connect to IIS (v7) Server using "FTP over SSL/TLS..."

    I am evauating wether to purchase Dreamweaver CS6...
    Dreamweaver CS6 trial (on Windows 7) wont connect to IIS (v7) Server using "FTP over SSL/TLS (explicit encryption)".  I have a NEW Godaddy SSL certificate installed on the IIS server. 
    On connecting Dreamweaver states: "Server Certificate has expired or contains invalid data"
    I have tried:
    -ALL the Dreamweaver Server setup options
    -Using multiple certificates (tried 2048 bit and 4096 bit Godaddy SSL certificates)
    -Made sure the certificate 'issued to' domain name matches my domain name.
    I am able to connect no problem using Filezilla, with equivalent Filezilla setting "Require explicit FTP over TLS".  I can also connect fine using Microsoft Expression web. 

    Thanks for your prompt reply.
    My comments:
    1) You should update your tread (forums.adobe.com/thread/889530) to reflect that it still occurs on CS6 (I had already read it but figured it was an old tread and thus should be fixed by now). 
    2) You said “These warnings will also pop up for your users if you have a store saying the SSL certificate does not match the domain/ip and this can make users checking out in a storefront very nervous” .  This does not seem to be correct – my https pages display properly using the same Godaddy certificate … using IE:
    3) Godaddy is not my host (I use Amazon AWS) – but the SSL certificate is from them.

  • Failed to use LDAP over SSL MUTUAL AUTHENTICATION with some Directory enable SSL.

    In iPlanet Web Server, Enterprise Edition Administration's guide, chapter 5: secure your web server - Using SSL and TLS protocol specifying that the Administrator server camn communicate LDAP over SSL with some Directory enable SSL.
    Is there any way to configure iplanet Administration server to talk ldap/ssl in mutual authentication mode with some directory?

    Hi,
    Sorry, I could not understand what your are trying to do with iWS.
    Could you please berifly explain your question. So that I can help you.
    Regards,
    Dakshin.
    Developer Technical Support
    Sun Microsystems
    http://www.sun.com/developers/support.

  • Java.lang.ArrayIndexOutOfBoundsException when using SOAP over SSL

    Looks like a strange thing. I am using MS SOAP Toolkit 2.0 sp2 to make SOAP calls
    to Weblogic (Win2000, 6.1) over SSL. On Weblogic I have an RPC service (EJB).
    I'm getting
    <Mar 26, 2002 9:14:56 PM EST> <Error> <HTTP> <Connection failure
    java.lang.ArrayIndexOutOfBoundsException
    at weblogic.security.SSL.GenericCipher.input(GenericCipher.java:216)
    at weblogic.security.SSL.SSLCiphertext.input(SSLCiphertext.java:65)
    at weblogic.security.SSL.SSLSocket.getRecord(SSLSocket.java:1030)
    at weblogic.security.SSL.RecordInputStream.getData(RecordInputStream.java:109)
    at weblogic.security.SSL.RecordInputStream.read(RecordInputStream.java:51)
    at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:182)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:605)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    But what's interesting, it's actually working. I am getting data as expected.
    Any idea what it could be?
    Thanks,
    Serge

    Looks like a strange thing. I am using MS SOAP Toolkit 2.0 sp2 to make SOAP calls
    to Weblogic (Win2000, 6.1) over SSL. On Weblogic I have an RPC service (EJB).
    I'm getting
    <Mar 26, 2002 9:14:56 PM EST> <Error> <HTTP> <Connection failure
    java.lang.ArrayIndexOutOfBoundsException
    at weblogic.security.SSL.GenericCipher.input(GenericCipher.java:216)
    at weblogic.security.SSL.SSLCiphertext.input(SSLCiphertext.java:65)
    at weblogic.security.SSL.SSLSocket.getRecord(SSLSocket.java:1030)
    at weblogic.security.SSL.RecordInputStream.getData(RecordInputStream.java:109)
    at weblogic.security.SSL.RecordInputStream.read(RecordInputStream.java:51)
    at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:182)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:605)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    But what's interesting, it's actually working. I am getting data as expected.
    Any idea what it could be?
    Thanks,
    Serge

  • SOLVED: How To Use LDAP over SSL (no certs) from java program

    Trying to connect to OID from Java program (using Grocery Store demo as a test). Want to use SSL with no server certificate. OID is configured, and ldapsearch -U 1 works.
    Tried using URL with ldaps, or adding SECURITY_PROTOCOL,"ssl". In both case the error is 'simple bind failed'.
    Samples on OTN say this should be possible, but then only have code for the non-ssl connection.
    Posting from others with this same question don't seem to have been answered.
    Message was edited by:
    user590350
    I have found that using ConnectionUtil.getSSLDirCtx() from Oracle will make a no-authentication SSL connection. An example in the sample code would be useful.

    Even with Java APIs, There is a way to talk through SSL without bothering about certificates. It's just that you will have to write some code and make some changes in settings.
    Read following to get further information on the same.
    http://kiranthakkar.blogspot.com/2007/04/dummny-certificate-authentication.html
    I don't know or I won't comment whether it's the right approach or not but it's definitely a work around.
    Thanking You
    Kiran Thakkar

  • Jdev proxy: use certs over SSL

    Hi,
    I have used jdev 11.1.0.1 to generate a proxy to call a webservice of an external company. This service requires certificates on both sides: the server supplies a certificate, and a client certificate is required.
    I have imported the server certificate including the authorities in a file called trusts.jks and my client certificate in a file called client.jks.
    Now i try to test my stub, using runtime parameters (java options) to supply the stores:
    -Djavax.net.ssl.trustStore=/mydir/trusts.jks -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.debug=all -Djavax.net.ssl.keyStore=/mydir/client.jks -Djavax.net.ssl.keyStorePassword=changeit
    Now in the logging I see that the server certificate seems to be recognized. Then, an SSL handshake error occurs, and I am not sure whether my client certificate is used. How do I know for sure that my certificate is sent over? Must the certificate be named after my computer name? Or is there a parameter to specify what certificate alias to look for?
    Regards,
    Jeroen van Veldhuizen
    Redora B.V.

    Even with Java APIs, There is a way to talk through SSL without bothering about certificates. It's just that you will have to write some code and make some changes in settings.
    Read following to get further information on the same.
    http://kiranthakkar.blogspot.com/2007/04/dummny-certificate-authentication.html
    I don't know or I won't comment whether it's the right approach or not but it's definitely a work around.
    Thanking You
    Kiran Thakkar

  • UTL_HTTP end of body exception, sending soap message

    Hi there,
    I am using the utl_http to send a soap request,
    l _http_response := UTL_HTTP.get_response(l_http_request);
    UTL_HTTP.read_text(l_http_response, l_envelope); then
    UTL_HTTP.end_response(l_http_response);
      l_response.doc := XMLTYPE.createxml(l_envelope);
      l_response.envelope_tag := p_request.envelope_tag;
      l_response.doc := l_response.doc.extract (....)the read statement throws an "end of body reached " exception , even when I have tried to use read_line instead , got the same,
    as I have read from a post on this forum, that it is just an exception that indicates that the end of the file is reached, it is not error, and that I only need to handle the exception and end the response, I have tried that but I got the l_envelope : NULL !!!
    I am using the same code to consume a webservice and it works fine, but with another service it does not,
    what possibly can be the reason,
    in addition what can I do to get rid of that exception !!,
    any help, please,
    suggestions are appreciated
    regards,
    Edited by: Lamya on Dec 5, 2009 12:34 PM
    Edited by: Lamya on Dec 5, 2009 12:49 PM

    Hi, thanks,
    it is oracle10g,
    The Exception is : ORA-29266: end-of-body reached
    ORA-06512: at "SYS.UTL_HTTP", line 1349
    then the line in my function ,
    damorgan wrote:
    But I do note that when I do this I always do a get_header_count and get_header before get_read.what get_read , u mean?
    thanks for the link ,
    appreciated

  • Using OSE with SSL

    Hello,
    I'm trying to use Oracle Servlet Engine (Oracle SE 8.1.7.3) for HTTP+SSL connexion WITHOUT APACHE.
    I already managed to configure OSE this way
    in initxxx.ora :
    mts_dispatchers="(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.mydomain)(PORT=8092)(DISP=1))(PRE=http://mywebdomain)"
    Then I created the service with the sess_sh utilitie .After loading my java classes and publishing my servlets, it works
    fine (for instance, I access my servlet Hello with the URL
    http://myhost.mydomain:8092/Hello )
    Now , to do the same thing in SSL (something like "https://myhost.mydomain:9092/Hello", I tried the following modification :
    mts_dispatchers="(ADDRESS=(PROTOCOL=TCPS)(HOST=myhost.mydomain)(PORT=9092))(DISP=1)(PRE=http://mywebdomain)"
    (+ adding the corresponding entry in sess_sh)
    The problem is that it doesn't work : my web browser says that the
    tcp connection wes interrupted, and I got a TNS-12560 and a
    TNS-00540 in a dxxx_xxxxx.trc file in bdump
    Howerver, it MUST be possible : the manual "Oracle Servlet Engine User's Guide Release 3 (8.1.7)"
    (Part No. A83720-01) says "To support HTTPS, associate an additional
    SSL endpoint to the Web service" (page 7-3)
    (This little line is the only doc I have been able to found about OSE+SSL !!!)
    Is someone knows the solution ? ( I mean ORACLE+OSE+SSL+ NO APACHE )
    thank you,
    Laurent FRANCOISE

    I've used Webdav over SSL ever since i started using webdav :)
    Infact many of my web servers are entirely ssl

  • POP3 OVER SSL using Oracle service using E-mail Transport

    Hi All,
    I am trying to connect an e-mail inbox using Oracle service bus . But i am trying to use POP3 over SSL .
    using POP3 i am able to connect . Any help .
    Thanks
    Phani

    Please refer -
    How to send email from OSB with Mail server that requires SSL or STARTTLS
    Regards,
    Anuj

  • Keep getting message pop up "Error reading/writing file  "com.apple.logic.pro.cs": Logical end-of-file reached during read operation," and "The Preferences are not loaded completely. Save them to "com.apple.logic.pro.cs" anyway?" Using Logic pro 8. ???

    Logic froze while I was working on something so I forced quit.  Now every time I open LOGIC a message pops up that says:
    "Error reading/writing file
    “com.apple.logic.pro.cs”:
    Logical end-of-file reached during read operation."
    The only button option is cancel so I press it and another message appears that says:
    "The Preferences are not loaded completely.
    Do not save them, as you would overwrite the Preferences file with incomplete data."
    Then when i close logic a box appears saying:
    "The Preferences are not loaded completely.
    Save them to "com.apple.logic.pro.cs" anyway?"
    There are 3 button options to press; ok, cancel or dont save.
    I press "don’t save" cuz I don't want to ruin anything.
    I found a discussion located here: https://discussions.apple.com/message/9564253#9564253 that says if I delete the file "com.apple.logic.pro.cs" it will resolve the problem.  If I do this will I loose or mess anything up at all, automation, saved channel strips customizations, saved effects, synth, or ultrabeat customizations etc? Or especially will I loose any work I've done?  I have hundreds pieces of music files I've created.  I'm scared to mess anything up with all the hours and months of work I've done.  Is there anyway to fix this without loosing anything?  I'm using Logic Pro 8.
    Thank you

    You can safely delete this file - its the preference file for control surface settings - you haven't said whether you're actually using a control surface or not, if so, you will have to set it up again. A new file will be created when you fire Logic up again, but of course it will contain default settings. If you have a complicated control surface setup, remember to keep a backup copy somewhere in case any future problems arise.
    Other than that, you really have nothing to be scared about - hopefully your problem is as simple as that and there isn't an underlying problem (a corrupt hard drive, for example). You seem concerned about losing work, so I guess you want to think about backing that up on a regular basis too. If you're saving your projects to your system drive, do get an external one for this. And also check that you have plent of free space on your system drive - you need to keep about a quarter or third of it free for your OS and programs to run properly (some temporarily stored files can be quite large).

  • Ora 03113 end of file of communication channel leads to coredump using svrmgrl

    hi,
    I have a similar problem. I installed Redhat linux version7 and tried to install oracle 816 but while connecting to SVRMGRL> it gives an ora-03113 end-of-file of communication channel. There is no database in the system. The dbassist also fails with the same error. I tried reinstalling for five times with different options but in vain. I analyzed the core using file core and strings core|head -10 it gave the following
    Core:ELF 32-bit LSB core file of 'oracle'(signal 6) Intel 80386, version1
    for strings command
    Core
    tl@#
    core
    oracle
    oracleoracle(Description=(local=yes)(address=(protocol=beq)))
    core
    oracle
    rminal
    ffffff
    n?sh
    Whenever i try svrmgrl it raises the ora-03113 error and creates a oracle<defunct> process. I tried relinking the oracle executables. I also tried chaning various options with listener and tnsnames. But in vain. Could any one please help me on this problem.
    Thanks in Advance,
    Hari

    onkar.nath wrote:
    All,
    While running exp command, I am getting below error:
    . exporting synonyms
    EXP-00008: ORACLE error 3113 encountered
    ORA-03113: end-of-file on communication channel
    EXP-00000: Export terminated unsuccessfully
    when I checked alert log, I found below entry:
    Errors in file /u01/app/oracle/admin/DEVOLTP/udump/devoltp_ora_13720.trc:
    ORA-07445: exception encountered: core dump [jon_get_ncomp_method_fptr()+59] [SIGSEGV] [Address not mapped to object] [0x23] [] []
    then I looked into the trace file mentioned there and it says this:
    ksedmp: internal or fatal error
    ORA-07445: exception encountered: core dump [jon_get_ncomp_method_fptr()+59] [SIGSEGV] [Address not mapped to object] [0x23] [] []
    Current SQL statement for this session:
    SELECT SYNNAM, DBMS_JAVA.LONGNAME(SYNNAM), DBMS_JAVA.LONGNAME(SYNTAB), TABOWN, TABNODE, PUBLIC$, SYNOWN, SYNOWNID, TABOWNID, SYNOBJNO FROM SYS.EXU9SYNU ORDER BY SYNTIME
    I tried finding the solution in metalink also but somehow I could not locate any document related to this. Any idea how to take care of this error.
    Database : Oracle 9i R2
    OS : Linux rcdb4 2.6.9-42.0.0.0.1.ELsmp #1 SMP Sun Oct 15 14:02:40 PDT 2006 i686 i686 i386 GNU/Linux
    Please Advise..
    TIA,
    OnkarHi Onkar. As you get any ksedmp: internal or fatal error, you need to raise SR at metalink

  • ORA-03113: end-of-file on communication channel ERROR

    After applying Database patch 3095277 to my 9.2.0.1.0 installation
    in order to update it to 9.2.0.4.0,I'm getting ORA-03113: end-of-file on communication channel
    ERRORS when attempting various tasks. This is a local installation running on a Windows XP Workstation.
    I've even tried creating a new test database but the result is the same.
    The reason for moving up to 9.2.0.4.0 is so I can start using Advanced Queuing, which I understand had problems in earlier releases.
    However before the update I could at least create the JMS queue tables without ERROR whereas now I get the following errors when attempting to create a queue table in SQL Plus from within Enterprise Manager Console.
    SQL*Plus: Release 9.2.0.4.0 - Production on Thu Sep 18 08:20:08 2003
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected.
    BEGIN SYS.DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table=> 'JMSQTBL',Queue_payload_type=>'SYS.AQ$_JMS_STREAM_MESSAGE',multiple_consumers=> false); END;
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    BEGIN SYS.DBMS_AQADM.CREATE_QUEUE(Queue_name=> 'JMSQUE',queue_table=> 'JMSQTBL'); END;
    ERROR at line 1:
    ORA-03114: not connected to ORACLE
    I would be grateful of any pointers as to how to resolve this problem.
    Regards
    Gary.

    Chris, Thanks for the suggestion,
    I took a look in the trace log and found the following entries that point to a ORA-00600 as you mentioned earlier.
    This is only a test database so there's no great loss if
    I have to re create it, but in saying that I did create a new test02 from scratch and had the same problem.
    Is it posible something went wrong when applying the 9.2.0.4.0 patch ?.
    Regards
    Gary.
    Dump file c:\oracle\admin\test01\udump\test01_ora_2556.trc
    Wed Sep 17 16:25:14 2003
    ORACLE V9.2.0.4.0 - Production vsnsta=0
    vsnsql=12 vsnxtr=3
    Windows 2000 Version 5.1 Service Pack 1, CPU type 586
    Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Windows 2000 Version 5.1 Service Pack 1, CPU type 586
    Instance name: test01
    Redo thread mounted by this instance: 1
    Oracle process number: 10
    Windows thread id: 2556, image: ORACLE.EXE
    *** 2003-09-17 16:25:14.046
    *** SESSION ID:(7.17) 2003-09-17 16:25:14.031
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** Object defn.s out of sync w/ data
    *** 2003-09-17 16:25:14.281
    ksedmp: internal or fatal error
    ORA-00600: internal error code, arguments: [qmxiUnpPacked2], [121], [], [], [], [], [], []
    Current SQL statement for this session:
    select 1
    from resource_view
    where any_path = '/xdbconfig.xml'
    ----- PL/SQL Call Stack -----
    object line object
    handle number name
    6A4FA348 6 package body XDB.DBMS_REGXDB
    6A504D88 1 anonymous block
    6A576AB8 639 package body SYS.DBMS_REGISTRY
    6A1DBB6C 1 anonymous block

  • ORA-03113 error on basic insert using XML

    I am getting this error:
    Connected to:
    Oracle Database 10g Release 10.2.0.1.0 - Production
    SQL> desc edi_holidays
    Name                                      Null?    Type
    HOLIDAY                                            DATE
    SQL> alter session set sql_trace=true;
    Session altered.
    SQL> truncate table edi_holidays;
    Table truncated.
    SQL>       SELECT to_date(extractvalue(COLUMN_VALUE, '/SubValueMark/@Value'),
      2                       'mm/dd/yyyy') holidays
      3          FROM xmltable('/root/Record[1]/ValueMark[@Index > 10]/SubValueMark'
      4                        passing prl_bpl_api.getediholidays('edi', 'SF.PARMS'));
    HOLIDAYS
    29-MAY-06
    04-JUL-06
    04-SEP-06
    23-NOV-06
    24-NOV-06
    25-DEC-06
    26-DEC-06
    01-JAN-06
    8 rows selected.
    SQL> INSERT INTO edi_holidays
      2        SELECT to_date(extractvalue(COLUMN_VALUE, '/SubValueMark/@Value'),
      3                       'mm/dd/yyyy') holidays
      4          FROM xmltable('/root/Record[1]/ValueMark[@Index > 10]/SubValueMark'
      5                        passing prl_bpl_api.getediholidays('edi', 'SF.PARMS'));
    8 rows created.
    SQL> commit;
    Commit complete.
    SQL> select * from edi_holidays;
    HOLIDAY
    29-MAY-06
    04-JUL-06
    04-SEP-06
    23-NOV-06
    24-NOV-06
    25-DEC-06
    26-DEC-06
    01-JAN-06
    8 rows selected.
    SQL> begin
      2  INSERT INTO edi_holidays
      3        SELECT to_date(extractvalue(COLUMN_VALUE, '/SubValueMark/@Value'),
      4                       'mm/dd/yyyy') holidays
      5          FROM xmltable('/root/Record[1]/ValueMark[@Index > 10]/SubValueMark'
      6                        passing prl_bpl_api.getediholidays('edi', 'SF.PARMS'));
      7
      8  end;
      9  /
    begin
    ERROR at line 1:
    ORA-03113: end-of-file on communication channelAny idea what might be happening. I also checked this in another session (with the anonymous block).
    Connected.
    SQL> begin
      2      insert into edi_holidays select sysdate from dual;
      3  end;
      4  /
    PL/SQL procedure successfully completed.
    SQL> select * from edi_holidays;
    HOLIDAY
    18-SEP-06

    Below is the relevant code.
    In here the procedure sys_sys_utility.processerror is a Autonomous Transaction procedure for Error Logging
    and sys_sys_utility.who_am_i is a program pretty much reused from here
    http://asktom.oracle.com/~tkyte/who_called_me/who.sql
    Also, sys_sys_soapapi is an api provided to me to implement the SOAP Protocol.
    SQL> desc edi_holidays;
    Name                                      Null?    Type
    HOLIDAY                                            DATE
    CREATE OR REPLACE PACKAGE sys_sys_soapapi IS
        TYPE t_request IS RECORD(
             method       VARCHAR2(256)
            ,namespace    VARCHAR2(256)
            ,BODY         CLOB
            ,envelope_tag VARCHAR2(30));
        TYPE t_response IS RECORD(
             doc          xmltype
            ,envelope_tag VARCHAR2(30));
        FUNCTION new_request
            p_method       IN VARCHAR2
           ,p_namespace    IN VARCHAR2
           ,p_envelope_tag IN VARCHAR2 DEFAULT 'SOAP-ENV'
        ) RETURN t_request;
        PROCEDURE add_parameter
            p_request IN OUT NOCOPY t_request
           ,p_name    IN VARCHAR2
           ,p_type    IN VARCHAR2
           ,p_value   IN CLOB
        PROCEDURE add_parameter
            p_request IN OUT NOCOPY t_request
           ,p_name    IN VARCHAR2
           ,p_type    IN VARCHAR2
           ,p_value   IN xmltype
        FUNCTION invoke
            p_request IN OUT NOCOPY t_request
           ,p_url     IN VARCHAR2
           ,p_action  IN VARCHAR2
        ) RETURN t_response;
        FUNCTION get_return_value
            p_response  IN OUT NOCOPY t_response
           ,p_name      IN VARCHAR2
           ,p_namespace IN VARCHAR2
        ) RETURN VARCHAR2;
    END sys_sys_soapapi;
    CREATE OR REPLACE PACKAGE BODY sys_sys_soapapi IS
      FUNCTION new_request(p_method       IN VARCHAR2,
                           p_namespace    IN VARCHAR2,
                           p_envelope_tag IN VARCHAR2 DEFAULT 'SOAP-ENV')
        RETURN t_request AS
        v_request t_request;
      BEGIN
        v_request.method       := p_method;
        v_request.namespace    := p_namespace;
        v_request.envelope_tag := p_envelope_tag;
        RETURN v_request;
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'new_request');
          RAISE;
      END;
      PROCEDURE add_parameter(p_request IN OUT NOCOPY t_request,
                              p_name    IN VARCHAR2,
                              p_type    IN VARCHAR2,
                              p_value   IN CLOB) AS
      BEGIN
        p_request.BODY := p_request.BODY || '<' || p_name || ' xsi:type="' ||
                          p_type || '">' || p_value || '</' || p_name || '>';
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'add_parameter');
          RAISE;
      END add_parameter;
      PROCEDURE add_parameter(p_request IN OUT NOCOPY t_request,
                              p_name    IN VARCHAR2,
                              p_type    IN VARCHAR2,
                              p_value   IN xmltype) AS
      BEGIN
        dbms_output.put_line('xmlversion');
        /* p_request.BODY := p_request.BODY || '<' || p_name || ' xsi:type="' ||
        p_type || '">' || p_value.getclobval ||
        '></' || p_name || '>'; */
        p_request.BODY := p_request.BODY || '<' || p_name || ' xsi:type="' ||
                          p_type || '"><![CDATA[' || p_value.getclobval || ']]></' ||
                          p_name || '>';
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'add_parameter');
          RAISE;
      END add_parameter;
      PROCEDURE generate_envelope(p_request IN OUT NOCOPY t_request,
                                  p_env     IN OUT NOCOPY CLOB) AS
      BEGIN
        p_env := '<?xml version="1.0" encoding="utf-8" ?><' ||
                 p_request.envelope_tag || ':Envelope xmlns:' ||
                 p_request.envelope_tag ||
                 '="http://schemas.xmlsoap.org/soap/envelope/" ' ||
                 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">' || '<' ||
                 p_request.envelope_tag || ':Body>' || '<' || p_request.method || ' ' ||
                 p_request.namespace || '>' || p_request.BODY || '</' ||
                 p_request.method || '>' || '</' || p_request.envelope_tag ||
                 ':Body>' || '</' || p_request.envelope_tag || ':Envelope>';
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i ||
                                       'generate_envelope');
          RAISE;
      END generate_envelope;
      PROCEDURE show_envelope(p_env IN CLOB) AS
        i     PLS_INTEGER;
        v_len PLS_INTEGER;
      BEGIN
        i     := 1;
        v_len := length(p_env);
        WHILE (i <= v_len)
        LOOP
          dbms_output.put_line(substr(p_env, i, 255));
          i := i + 255;
        END LOOP;
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'show_envelope');
          RAISE;
      END show_envelope;
      PROCEDURE check_fault(p_response IN OUT NOCOPY t_response) AS
        v_fault_node   xmltype;
        v_fault_code   VARCHAR2(256);
        v_fault_string VARCHAR2(32767);
      BEGIN
        v_fault_node := p_response.doc.extract('/' || p_response.envelope_tag ||
                                               ':Fault',
                                               'xmlns:' || p_response.envelope_tag ||
                                               '="http://schemas.xmlsoap.org/soap/envelope/');
        IF (v_fault_node IS NOT NULL)
        THEN
          v_fault_code   := v_fault_node.extract('/' || p_response.envelope_tag ||
                                                 ':Fault/faultcode/child::text()',
                                                 'xmlns:' || p_response.envelope_tag ||
                                                 '="http://schemas.xmlsoap.org/soap/envelope/')
                           .getstringval();
          v_fault_string := v_fault_node.extract('/' || p_response.envelope_tag ||
                                                 ':Fault/faultstring/child::text()',
                                                 'xmlns:' || p_response.envelope_tag ||
                                                 '="http://schemas.xmlsoap.org/soap/envelope/')
                           .getstringval();
          raise_application_error(-20000, v_fault_code || ' - ' || v_fault_string);
        END IF;
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'check_fault');
          RAISE;
      END check_fault;
      FUNCTION invoke(p_request IN OUT NOCOPY t_request,
                      p_url     IN VARCHAR2,
                      p_action  IN VARCHAR2) RETURN t_response AS
        v_envelope      CLOB;
        v_http_request  utl_http.req;
        v_http_response utl_http.resp;
        v_response      t_response;
        v_rawresponse   CLOB;
        v_request_len   INTEGER;
        v_request_indx  INTEGER := 1;
        v_request_txt   VARCHAR(32767);
      BEGIN
        generate_envelope(p_request, v_envelope);
        --show_envelope(v_envelope);
        v_http_request := utl_http.begin_request(p_url, 'POST', 'HTTP/1.1');
        utl_http.set_header(v_http_request, 'Content-Type', 'text/xml');
        v_request_len := length(v_envelope);
        utl_http.set_header(v_http_request, 'Content-Length', v_request_len);
        utl_http.set_header(v_http_request, 'SOAPAction', p_action);
        --Send Request Piecewise
        v_request_indx := 1;
        LOOP
          EXIT WHEN v_request_indx >= v_request_len;
          v_request_txt := substr(v_envelope, v_request_indx, 32767);
          utl_http.write_text(v_http_request, v_request_txt);
          v_request_indx := v_request_indx + 32767;
        END LOOP;
        --Get Response
        v_http_response := utl_http.get_response(v_http_request);
        --Extract Response Text
        BEGIN
          LOOP
            utl_http.read_text(v_http_response, v_envelope);
            v_rawresponse := v_rawresponse || v_envelope;
          END LOOP;
        EXCEPTION
          WHEN utl_http.end_of_body THEN
            NULL;
          WHEN OTHERS THEN
            dbms_output.put_line('In the invoke utl_http.read_text procedure');
            RAISE;
        END;
        -- End Response
        utl_http.end_response(v_http_response);
        --Format My Response
        v_response.doc := xmltype.createxml(v_rawresponse);
        v_response.envelope_tag := p_request.envelope_tag;
        -- Remove Envelope Headers
        v_response.doc := v_response.doc.extract('/' || v_response.envelope_tag ||
                                                 ':Envelope/' ||
                                                 v_response.envelope_tag ||
                                                 ':Body/child::node()',
                                                 'xmlns:' || v_response.envelope_tag ||
                                                 '="http://schemas.xmlsoap.org/soap/envelope/"');
        /*BEGIN
          NULL;
          show_envelope(v_response.doc.getstringval());
        EXCEPTION
          WHEN OTHERS THEN
            dbms_output.put_line('Error in show envelope: ' || SQLERRM);
        END;*/
        check_fault(v_response);
        RETURN v_response;
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'invoke');
          RAISE;
      END invoke;
      FUNCTION get_return_value(p_response  IN OUT NOCOPY t_response,
                                p_name      IN VARCHAR2,
                                p_namespace IN VARCHAR2) RETURN VARCHAR2 AS
      BEGIN
        RETURN p_response.doc.extract('//' || p_name || '/child::text()',
                                      p_namespace) .getstringval();
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i ||
                                       'get_return_value');
          RAISE;
      END get_return_value;
    END sys_sys_soapapi;
      FUNCTION getediholidays(p_suser    sys_user.username%TYPE DEFAULT NULL,
                              p_transkey VARCHAR2) RETURN xmltype IS
        l_request  sys_sys_soapapi.t_request;
        l_response sys_sys_soapapi.t_response;
        --l_response_value VARCHAR2(500);
        v_action       VARCHAR2(1000);
        l_response_xml xmltype;
      BEGIN
        -- Set proxy details if no direct net connection.
        --UTL_HTTP.set_proxy('myproxy:4480', NULL);
        --UTL_HTTP.set_persistent_conn_support(TRUE);
        v_action  := v_prelude_ws_action || '/GetEdiHolidays';
        l_request := sys_sys_soapapi.new_request(p_method       => 'GetEdiHolidays',
                                                 p_namespace    => v_prelude_ws_namespace,
                                                 p_envelope_tag => 'soap');
        sys_sys_soapapi.add_parameter(p_request => l_request,
                                      p_name    => 'sAccount',
                                      p_type    => 'xsd:string',
                                      p_value   => v_prelude_ws_account);
        sys_sys_soapapi.add_parameter(p_request => l_request,
                                      p_name    => 'sUser',
                                      p_type    => 'xsd:string',
                                      p_value   => p_suser);
        sys_sys_soapapi.add_parameter(p_request => l_request,
                                      p_name    => 'sTransKey',
                                      p_type    => 'xsd:string',
                                      p_value   => p_transkey);
        l_response := sys_sys_soapapi.invoke(p_request => l_request,
                                             p_url     => v_prelude_ws_url,
                                             p_action  => v_action);
        --dbms_output.put_line('hi ' || l_response.doc.getstringval());
        SELECT extract(l_response.doc,
                       '/GetEdiHolidaysResponse/GetEdiHolidaysResult/child::node()',
                       v_prelude_ws_namespace)
          INTO l_response_xml
          FROM dual;
        RETURN l_response_xml;
      EXCEPTION
        WHEN OTHERS THEN
          sys_sys_utility.processerror(SQLCODE,
                                       '[' || SQLERRM || ']',
                                       sys_sys_utility.who_am_i || 'getediholidays');
          RAISE;
      END getediholidays;Mark, also, please feel free to comment on any improvements in the code. btw, if this doesn't work, I am planning to go and use collections to get the holidays and then make use of them.
    Message was edited by:
    rputtagunta

Maybe you are looking for