Running PL/SQL Web Service Example
Hi,
I followed all the steps as mentioned in the example "Publish PL/SQL as a Web Service" but I am getting the following error:
[SOAPException: faultCode=SOAP-ENV:Server; msg=[SOAPException: faultCode=SOAP-ENV:Server; msg=]]
scott.Employee mypackage1.CompanyStub.getemp(java.math.BigDecimal)
CompanyStub.java:111
void mypackage1.CompanyStub.main(java.lang.String[])
CompanyStub.java:68
Process exited with exit code 0.
Can anyone please help me resolve this error?
Thanks in advance,
Jatinder
Well the good news is that you got the row added so the SOAP messaging is at least working. It seems odd that you can add
the employee and not have the same error ... the add process should run into difficulties with the same class presumably that you
are having with the getemp one.
I am grasping at straws here ... are you using a JDK that is JDK 1.3.1_02 or higher? I know OC4J has some problems with 1.3.1_01.
I see you are on Solaris ... is that JDev or just the app server? DB version shouldn't matter if your install worked fine.
Perhaps the last thing you could post is the full log of the error message you see in JDev that might have some clues too. If you are
running JDev on Windows, if you start it up with jdev.exe instead of jdevw.exe it will also put up an internal logging DOS window that
may have some other pointers.
That's about all I can think of.
Mike.
Similar Messages
-
Problems deploying PL/SQL Web Service example to standalone OC4J
I have built the PL/SQL Web Service example EMP_FETCHER in the tutorials that come with JDeveloper. When run with the embedded OC4J container, the web service works ok using the autogenerated client. However, while I can then successfully deploy the web service to a standalone OC4j instance running on a separate database server, when I point the client at it, a NoSuchMethodError exception is thrown by oc4j with the following stacktrace;
at tutorial_jdbc_connection.Emp_fetcher.get_emp(Emp_fetcher.sqlj:43)
at tutorial_jdbc_connection.__Emp_fetcherSPWrapper.invokeMethod(__Emp_fetcherSPWrapper.java:73)
at oracle.j2ee.ws.InvocationWrapper.invoke(InvocationWrapper.java:98)
at oracle.j2ee.ws.RpcWebService.doPost(RpcWebService.java:359)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:652)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
Looks like I'm missing some support libraries but I'm unsure which ones they are, and why they wouldn't be part of a standard OC4J installation.
I've tried including the SQLJ runtime and Oracle JDBC library support in the deployment and redeploying but the same error persists.
Any assistance would be appreciated
Regards
MichaelYou have an old version of java installed. That is what "java.lang.UnsupportedClassVersionError" tells.
-
Error while running PL/SQL Web Service in JDeveloper
Hi,
I am trying to run a PL/SQL Webservice example available on OTN site. Below mentioned error is occurring when running the program:
*************** Error Stack Begin **********************
D:\DevSuiteHome_1\jdk\bin\javaw.exe -ojvm -classpath D:\DevSuiteHome_1\jdev\mywork\WebServiceOBE\PLSQLWebService\classes;D:\DevSuiteHome_1\sqlj\lib\runtime12ee.jar;D:\DevSuiteHome_1\jdbc\lib\classes12.jar;D:\DevSuiteHome_1\jdbc\lib\nls_charset12.jar;D:\DevSuiteHome_1\jdev\lib\jdev-rt.jar;D:\DevSuiteHome_1\soap\lib\soap.jar;D:\DevSuiteHome_1\lib\xmlparserv2.jar;D:\DevSuiteHome_1\jlib\javax-ssl-1_2.jar;D:\DevSuiteHome_1\jlib\jssl-1_2.jar;D:\DevSuiteHome_1\j2ee\home\lib\activation.jar;D:\DevSuiteHome_1\j2ee\home\lib\mail.jar;D:\DevSuiteHome_1\j2ee\home\lib\http_client.jar -Dhttp.proxyHost=instpisa -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=*.sierraopt.com|nshore|localhost|127.0.0.1 mypackage2.MyWebService1Stub
[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must be: "text/xml". Response was:
<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>404 Not Found</H1>Resource /WebServiceOBE-PLSQLWebService-context-root/MyWebService1 not found on this server</BODY></HTML>
at org.apache.soap.rpc.Call.getEnvelopeString(Call.java:209)
at org.apache.soap.rpc.Call.invoke(Call.java:268)
at mypackage2.MyWebService1Stub.getEmp(MyWebService1Stub.java:86)
at mypackage2.MyWebService1Stub.main(MyWebService1Stub.java:40)
Process exited with exit code 0.
*************** Error Stack End **********************
Please would anyone help me by providing clues to resolve this issue.
Thank you.
Regards,
BaluThanks Frank.
In my function package i create xml use dbms_xmldom. I save created xml into clob and return this clob in function.
Now I want create web service that return my clob(xml).
I try use JDevelper with PL/SQL Web Service Wizard.
But I get wrong result (see in my first post).
My Example xml in clob
<test>"testvalue"</test>
I want get responce
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
X-Powered-By: Servlet/2.5 JSP/2.1
SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
Date: Thu, 28 Oct 2010 08:23:31 GMT
X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
Content-Length: 279812
X-HTTPAnalyzer-RuleName: Pass through :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Header/>
<env:Body>
<m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
<result><test>"testvalue"</test>
</result>
</m:udoFDicnomnsXmlWsResponse>
</env:Body>
</env:Envelope>
But I get
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
X-Powered-By: Servlet/2.5 JSP/2.1
SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
Date: Thu, 28 Oct 2010 08:23:31 GMT
X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
Content-Length: 279812
X-HTTPAnalyzer-RuleName: Pass through :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Header/>
<env:Body>
<m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
<result>& lt;test>&quot;testvalue&quot;& lt;/test>
</result>
</m:udoFDicnomnsXmlWsResponse>
</env:Body>
</env:Envelope>
Can you advice something?
Edited by: user10707438 on 28.10.2010 1:14
Edited by: user10707438 on 28.10.2010 1:27 -
Cannot run "Publish PL/SQL as a Web Service" example
Hello!
I have Oracle 8.1.7 AS and 9i JDeveloper running on Windows 2000. I'm trying to run the "Publish PL/SQL as a Web Service" example, but am encountering errors I believe are related to my hostname/IP address/DNS entry. Of course, I could be wrong.
Here is some information:
==========================================================
1. I was able to successfully initialize Containers for J2EE. However, when I was trying to deploy the PL/SQL example, it inserted this information:
C:\oracle\jdev9i\j2ee\home>C:\oracle\jdev9i\jdk\bin\java.exe -jar C:\oracle\jdev9i\j2ee\home\oc4j.jar
Node started with id=-1753996682
Oracle9iAS (9.0.3.0.0) Containers for J2EE initialized
Error updating application PLSQL-PLSQL-WS: Error loading web-app 'WebServices' at
C:\oracle\jdev9i\j2ee\home\applications\PLSQL-PLSQL-WS\WebServices:
resource-ref 'jdbc/testCoreDS' referenced from resource-ref-mapping not found
==========================================================
2. I went through the instructions from the website, and when I began the deployment process it generated this information:
---- Deployment started. ---- Jan 17, 2003 1:20:27 PM
Wrote WAR file to C:\oracle\jdev9i\jdev\plsql-webexample\Project1\WebSe[i]Long postings are being truncated to ~1 kB at this time.Couple of suggestions despite your post being cut off with what might be useful information (please post the rest if these suggestions don't help):
1. There are some bugs with Personal Oracle and Web services, notably Oracle9i Personal that may apply also to 8.1.7. If you have a MetaLink account it is logged as bug 2591731.
2. As you are using your local machine, make sure your proxies are turned off (Tools-Preferences Web Browser/Proxy)
3. I've noticed problems when folks use a JDK with a version lower than 1.3.1_02 to run OC4J - it is certified only with 1.3.1_02 or higher. If you are using the built-in JDeveloper JDK to start up OC4J (e.g. <Jdev_home>\jdk\bin\java.exe) you should be fine. But if you are just typing in java -jar oc4j.jar it is worth checking. Check the your default JDK version by typing in: java -version. If it is lower, then download a new version from http://java.sun.com/j2se/1.3/download.html.
4. For level setting it is best to be using build 1035 of JDeveloper, the current production release and either the OC4J embedded in it or the stand-alone version here on OTN.
Hope these point in the right direction.
Mike. -
PL/SQL Web Service problem in Oracle10g
Hi everybody
I try to publish PL/SQL Web Service using JDeveloper 9.0.4.0 and Oracle10g.
But when I deploy the Web Service using 'http-web-site', error messages are:
oracle.oc4j.admin.internal.DeployerException: Unknown site: http-web-site
Active sites are:
file:/D:/oracle/DS/j2ee/home/config/default-web-site.xml
at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:131)
at com.evermind.server.administration.DefaultApplicationServerAdministrator.bindWebApp(DefaultApplicationServerAdministrator.java:364)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
Exit status of OC4J admin tool (-bindWebApp): 17
Use the following context root(s) to test your web application(s):
http://huan:????/CSE5200-PLSQLWS-context-root
Note: JDeveloper was unable to determine the HTTP port number of the remote server for the above URL(s).
Elapsed time for deployment: 2 minutes, 19 seconds
When I change it to 'default-web-set', the following information is shown:
---- Deployment started. ---- 2004-8-31 8:50:08
Target platform is Standalone OC4J (WSConnection).
Wrote WAR file to D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\WebServices.war
Wrote EAR file to D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\CSE5200-PLSQLWS-WS.ear
Invoking OC4J admin tool...
D:\oracle\DS\jdk\jre\bin\javaw.exe -jar D:\oracle\DS\j2ee\home\admin.jar ormi://huan/ admin **** -deploy -file D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\CSE5200-PLSQLWS-WS.ear -deploymentName CSE5200-PLSQLWS-WS
Notification ==> Application Deployer for CSE5200-PLSQLWS-WS STARTS [ 2004-08-31T08:50:32.487EST ]
Notification ==> Undeploy previous deployment
Notification ==> Copy the archive to D:\oracle\DS\j2ee\home\applications\CSE5200-PLSQLWS-WS.ear
Notification ==> Unpack CSE5200-PLSQLWS-WS.ear begins...
Notification ==> Unpack CSE5200-PLSQLWS-WS.ear ends...
Notification ==> Initialize CSE5200-PLSQLWS-WS.ear begins...
Notification ==> Initialize CSE5200-PLSQLWS-WS.ear ends...
Notification ==> Initialize WebServices begins...
Notification ==> Initialize WebServices ends...
Notification ==> Application Deployer for CSE5200-PLSQLWS-WS COMPLETES [ 2004-08-31T08:50:45.766EST ]
Exit status of OC4J admin tool (-deploy): 0
D:\oracle\DS\jdk\jre\bin\javaw.exe -jar D:\oracle\DS\j2ee\home\admin.jar ormi://huan/ admin **** -bindWebApp CSE5200-PLSQLWS-WS WebServices default-web-site /CSE5200-PLSQLWS-context-root
Exit status of OC4J admin tool (-bindWebApp): 0
Use the following context root(s) to test your web application(s):
http://huan:8890/CSE5200-PLSQLWS-context-root
Elapsed time for deployment: 53 seconds
---- Deployment finished. ---- 2004-8-31 8:51:01
And the Web Service still can not work. I did this before with JDeveloper 9.0.3 with Oracle9i and succeeded. Could anybody tell me how to resolve this problem. Thanks a lot.Thanks Frank.
In my function package i create xml use dbms_xmldom. I save created xml into clob and return this clob in function.
Now I want create web service that return my clob(xml).
I try use JDevelper with PL/SQL Web Service Wizard.
But I get wrong result (see in my first post).
My Example xml in clob
<test>"testvalue"</test>
I want get responce
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
X-Powered-By: Servlet/2.5 JSP/2.1
SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
Date: Thu, 28 Oct 2010 08:23:31 GMT
X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
Content-Length: 279812
X-HTTPAnalyzer-RuleName: Pass through :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Header/>
<env:Body>
<m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
<result><test>"testvalue"</test>
</result>
</m:udoFDicnomnsXmlWsResponse>
</env:Body>
</env:Envelope>
But I get
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
X-Powered-By: Servlet/2.5 JSP/2.1
SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
Date: Thu, 28 Oct 2010 08:23:31 GMT
X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
Content-Length: 279812
X-HTTPAnalyzer-RuleName: Pass through :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Header/>
<env:Body>
<m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
<result>& lt;test>&quot;testvalue&quot;& lt;/test>
</result>
</m:udoFDicnomnsXmlWsResponse>
</env:Body>
</env:Envelope>
Can you advice something?
Edited by: user10707438 on 28.10.2010 1:14
Edited by: user10707438 on 28.10.2010 1:27 -
Error when invoking pl/sql web service from bpel
Hi!
I have a simple 'Hello World' pl/sql web service. When i invoke it in asynchronous BPEL process, a local WSDL file is automatically generated for the parterlink used. The process even gets successfully deployed without any warning or error. But in the BPEL console when I create an instance, its alwaya being faulted and the audit give the following error at invoke:
"{http://schemas.oracle.com/bpel/extension}remoteFault" has been thrown. less
<remoteFault>
<part name="code" >
<code>Server.userException</code>
</part>
<part name="summary" >
<summary>when invoking endpointAddress 'null', java.net.UnknownHostException: www.proxy.us.oracle.com</summary>
</part>
<part name="detail" >
<detail>AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.net.UnknownHostException: www.proxy.us.oracle.com faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.net.UnknownHostException: www.proxy.us.oracle.com at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153) at java.net.Socket.connect(Socket.java:452) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.collaxa.thirdparty.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:155) at org.collaxa.thirdparty.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:117) at org.collaxa.thirdparty.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:158) at org.collaxa.thirdparty.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:450) at org.collaxa.thirdparty.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:94) at org.collaxa.thirdparty.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.collaxa.thirdparty.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.collaxa.thirdparty.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.collaxa.thirdparty.apache.axis.client.AxisClient.invoke(AxisClient.java:147) at org.collaxa.thirdparty.apache.axis.client.Call.invokeEngine(Call.java:2732) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:2715) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:1737) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeAXISMessaging(WSIFOperation_ApacheAxis.java:2113) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1611) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1083) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452) at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217) at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335) at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125) at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70) at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86) at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123) at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755) at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534) {http://xml.apache.org/axis/}hostname:NewUser-lap </detail>
</part>
</remoteFault>
Can anybody please tell what could be the problem,
Thanking in advance,
Deepika.www.proxy.us.oracle.com -> www-proxy.us.oracle.com - looks like set in the obsetenv.bat file
-
How can I return multiple values with PL/SQL Web Services
Hi,
I'm new to developping Web Services. I'm doing some tests with JDeveloper and OC4J on my local machine with a Web Services based on a PL/SQL function within a package. Right now that function only returns one value. So the xml response only has one output.
I'd like to know how can I return multiple values with my PL/SQL Web Service. For example, if I want to return an employee's name and id? And that the xml contains two output : <employee>, <empid>?
Reginald
ps : I have searched the forum and I couldn't find an answer to this question, if that has been discussed AND answered before, can you please post the link? ThanksAlright, I actually found my answer. Since this was asked I think as a followup somewhere else I'll give my answer.
It is very simple, all you have to do is create an Object Type and then Return that object type. After that, JDeveloper will take care of everything and you will have an xml response with multiple values. Here
{color:#ff0000}
create or replace TYPE person AS OBJECT
( id_interv number,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
date_birth date
);{color}
Then your function used in your Web Service should look something like this :
{color:#ff0000}
function info_emp (p_empno IN VARCHAR2) RETURN person AS
l_emp person := person(-1,'','','');
BEGIN
SELECT first_name
,last_name
,emp_no
INTO l_emp.first_name
,l_emp.last_name
,l_emp.emp_no
FROM emp
WHERE upper(emp_no) = upper (emp_no);
{color}
{color:#ff0000}
RETURN l_emp;
EXCEPTION WHEN NO_DATA_FOUND THEN
l_emp := person (-1,'n/a','n/a','n/a');
RETURN l_emp ;
END info_emp;{color}
{color:#ff0000}{color:#000000}After that, this is what the xml response looks like :{color}{color}
<first_name xsi:type="xsd:string">John</first_name>
<last_name xsi:type="xsd:string">Doe</last_name>
<emp_no xsi:type="xsd:string">0250193</emp_no> -
PL/SQL Web Service: Broken Pipe
We have successfully deployed PL/SQL Web Services on the Oracle Application Server 10g with about 6 containers. The web services are being consumed by a .NET application. All seems to be working well but we continually are having intermittent (every 2-3 days) "BROKEN PIPE" errors which is causing us to bounce the container constantly. This is not very effecient for a production environment. Does anybody have any ideas........? Here is what shows up in the log:
javax.servlet.ServletException: Io exception: Broken pipe
at swprodweb.__Ws_reservationImplSPWrapper.destroy(__Ws_reservationImplSPWrapper.java:605)
at oracle.j2ee.ws.RpcWebService.destroy(RpcWebService.java:93)
at com.evermind.server.http.ServletInstanceInfo.destroy(ServletInstanceInfo.java:127)
at com.evermind.server.http.HttpApplication.destroyServlets(HttpApplication.java:5805)
at com.evermind.server.http.HttpApplication.destroy(HttpApplication.java:5732)
at com.evermind.server.http.HttpSite.destroy(HttpSite.java:881)
at com.evermind.server.http.HttpServer.destroy(HttpServer.java:613)
at com.evermind.server.ApplicationServer.destroy(ApplicationServer.java:2033)
at com.evermind.server.ApplicationServerShutdownHandler.run(ApplicationServerShutdownHandler.java:39)
at java.lang.Thread.run(Thread.java:534)
So everytime I see this error I know that we have to bounce the container. Very Frustrating!!Hi,
Although it's a long time since you posted your message, I nowadays working with this issue, that is, calling web services from Oracle database 10g through UTL_DBWS package. It turns out that almost 3 of 100 requests fail due to this error (broken pipe). Actually, the trace is:
ERROR on line 1:
ORA-29532: Java call finished due to an unresolved exception: HTTP
transport error: javax.xml.soap.SOAPException:
java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message
send failed: send failed
Broken pipe
ORA-06512: en "SYS.UTL_DBWS", línea 403
ORA-06512: en "SYS.UTL_DBWS", línea 400
I'm looking for the cause of this error. Has anyone any idea about this?
Thanks a lot.
Luis Serrano. -
I need Web Service from PL/SQL package but,I can not see
All Technologies
Business Tier
Web Services -> PL/SQL Web Services.
in the new Galery wizard of Jdeveloper(Studio Edition Version 11.1.1.0.1)
Also "Publlish as Web service" menu doesn't appear when i make right click while selecting a PL/SQL package on the db connnection navigator.
Please help me if you know the reason.Oracle removed this option or really good hide it in the final version of jdeveloper 11g
But there is hope you can do it yourself with eclipselink , they have a great wiki page with all the options plus you have control how you make this ws
Here an example to make a quickstart
http://biemond.blogspot.com/2009/01/create-plsql-webservice-in-jdeveloper.html
thanks Edwin -
PL/SQL Web Service Optional Parameters
I have created a PL/SQL web service and deployed successfully using Jdeveloper 10.1.3.5. The database is 9.2.0.8.
When the web service request is made, all is well if all parameters are passed.
I have been told that the request might come with some but not necessarily all of the parameters expected by the PL/SQL procedure.
Is it possible when deploying through JDeveloper to indicate that all parameters might not be present?
This is my first web service. Thanks in advance for your assistance.Parameters relate to procedures. Web Services require XML messages.
Where are the parameters coming from? You cannot pass a dynamic number of parameters into a procedure, but you can pass a structured type as a parameter which can contain multiple values, whether that is an array/collection type or an XML document itself.
Just package up the values into the XML and pass it to the web service.
If this doesn't answer your question, please post more information, with some example data and code. Read the FAQ: {message:id=9360002} -
PL/SQL web service code in 1013 is schema-specific
When I generate a Web Service from a pl/sql package in 1013 (ea3), the code will only run against the schema that owns any user-defined SQL types that the package references. These types have synonyms on the database, but to get the code to execute against another schema I have to modify the generated type classes and add the owning schema name into the literals in several different places.
Is there a way I can get the wizards to do this for me?Yes, we tried with databse adapter with out any problem. we want specifically with the PL/SQL Web service using the web service wizard.
Thanks in advance. -
Jdeveloper 11g R2 problem when publishing PL\SQL Web Service
Hi Guys,
I have been banging my head against the wall for the past few days trying to publish pl\sql package as a web service on a weblogic 10.3 but I keep running into the same problem.
PL\SQL Package Source below
create type dept_type as object
(deptno NUMBER,
dname VARCHAR2(50),
loc varchar2(13),
cr_date date)
create type dept_list_table is table of dept_type
purge recyclebin;
create or replace package ws_package as
procedure test_dept_table (pout out dept_list_table);
end ws_package;
show errors;
create or replace package body ws_package as
procedure test_dept_table (pout out dept_list_table) is
all_depts dept_list_table := dept_list_table();
dRecType dept_type;
i number := 0;
begin
-- iterate through all depts
for r_list in (select * from dept) loop
i := i + 1;
dRecType := dept_type(null, null, null, null);
dRecType.deptno := r_list.deptno;
dRecType.dname := r_list.dname;
dRecType.loc := r_list.loc_id;
dRecType.cr_date := sysdate;
pout.extend;
pout(i) := dRecType;
end loop;
end test_dept_table;
end ws_package;
show errors;
I go and create PL\SQL Web Service using default settings in Jdeveloper 11g R2 but when I try and test this page I get the following response:
Failed to invoke end component servqa.MyWebService1User (POJO), operation=testDeptTable -> Failed to invoke method -> java.sql.SQLException: ORA-06550: line 1, column 13: PLS-00306: wrong number or types of arguments in call to 'TEST_DEPT_TABLE' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
Anyone have any idea what the problem may be? Your help would be much appreceated!
BojanHi Frank,
I think the problem is in any procedure that has a COMPLEX TYPE as OUT parameter. So even if you strip down the procedure to just do nothing I still get the error as described in my top post. Passing complex parameters as IN parameter work fine its only when I have procedure with complex out when it errors. I also tried function that returns object parameter and that works fine too so not sure why this doesnt?
create or replace package body ws_package as
procedure test_dept_table (pout out dept_list_table) is
begin
-- iterate through all depts
for r_list in (select * from dept) loop
i := i + 1;
end loop;
end test_dept_table;
end ws_package;
Not sure if I am meant to do anything extra before I generate Web Service using JDeveloper if my procedure has got PL\SQL types as OUT parameters but as far as I know JDeveloper should do all the type conversions for you??
Thanks
Bojan -
ClassDefNotFound Exception when calling PL/SQL Web Service
Hi to all J2EE'ers.
I'm trying to construct a sample PLSQL Web Service. I'm using a 10g R1 Database Server, Apache HTTP Server from the 10g Companion CD, and OC4J 9.0.4 (I think it's called "standalone" OC4J), all on Linux (Suse 9.1).
I set up a simple package on the DB server, containing a simple method named "get_payload(p_arg in varchar2) return varchar2".
Assembling and deploying worked well (i.e., java -jar WebServiceAssembler.jar -config config-payload.xml, followed by java -jar admin.jar ormi://localhost admin admin -deploy ... and -bindWebApp ...), and after deployment I am able to navigate to the service endpoint, but when trying to test the method named "getPayload(String param0)", after entering the parameter value and clicking "Invoke" I receive an error from the Web Server:
500 Internal Server Error
java.lang.NoClassDefFoundError: oracle/aurora/ncomp/java/ClassNotFound
at oracle.j2ee.ws.StatelessStoredProcRpcWebService.getGenerator(StatelessStoredProcRpcWebService.java:17)
at oracle.j2ee.ws.RpcWebService.generateWrapperClass(RpcWebService.java:443)
at oracle.j2ee.ws.RpcWebService.generate(RpcWebService.java:396)
at oracle.j2ee.ws.RpcWebService.getWrapper(RpcWebService.java:514)
at oracle.j2ee.ws.RpcWebService.doGetRequest(RpcWebService.java:613)
at oracle.j2ee.ws.BaseWebService.doGet(BaseWebService.java:1117)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:733)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
Here's the file config-payload.xml I used for assembling the service (access data has been obfuscated):
<web-service>
<display-name>Payload Sample Web Service</display-name>
<description>Stateless Java Document Stye Web Service Example</description>
<destination-path>./PayloadSampleService.ear</destination-path>
<temporary-directory>/tmp</temporary-directory>
<context>/payloadws</context>
<stateless-stored-procedure-java-service>
<jar-generation>
<schema>Username/Password</schema>
<db-url>jdbc:oracle:thin:@Server:1521:ServiceName</db-url>
<db-pkg-name>sample_websrv_pkg</db-pkg-name>
</jar-generation>
<uri>/payload</uri>
<database-JNDI-name>jdbc/OracleDS</database-JNDI-name>
</stateless-stored-procedure-java-service>
<wsdl-gen>
<wsdl-dir>wsdl</wsdl-dir>
<option name="force">true</option>
<option name="httpServerURL">http://localhost:8888</option>
</wsdl-gen>
<proxy-gen>
<proxy-dir>proxy</proxy-dir>
<option name="include-source">true</option>
</proxy-gen>
</web-service>
I scanned the web up and down to find references to similar problems, but to no avail. Any ideas how I could nail down the issue? WHAT class def can not be found? What code is around line 17 of StatelessStoredProcRpcWebService.java?
TIA for any input.
Wernerwww.proxy.us.oracle.com -> www-proxy.us.oracle.com - looks like set in the obsetenv.bat file
-
Help needed in web service example. Thank!!!
Hi,
I tested WebLogic 6.1 message-style web service example. For the
ProducerClient.java example, I tested successfully. But for
the ConsumerClient.java example, I kept getting error messages.
Can any expert offers some explanation or advice? Need to
show my boss the cool thing. Any help is highly appreciated.
Thanks.
David
The server-side message is:
Servlet failed with Exception
java.lang.NullPointerException
at weblogic.soap.server.servlet.QueueReceiveAdapter.doPost(QueueReceiveA
dapter.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
The client-side message:
Server returned HTTP response code: 500 for URL: http://localhost:70
01/msg/receiveMsg
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:674)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderFieldKey(HttpURL
Connection.java:1163)
at weblogic.soap.WebServiceProxy.getSessionCookie(WebServiceProxy.java:5
09)
at weblogic.soap.WebServiceProxy.receive(WebServiceProxy.java:477)
at weblogic.soap.WebServiceProxy.invoke(WebServiceProxy.java:431)
at weblogic.soap.SoapMethod.invoke(SoapMethod.java:186)
at ConsumerClient.main(ConsumerClient.java:52)Hi,
I tested WebLogic 6.1 message-style web service example. For the
ProducerClient.java example, I tested successfully. But for
the ConsumerClient.java example, I kept getting error messages.
Can any expert offers some explanation or advice? Need to
show my boss the cool thing. Any help is highly appreciated.
Thanks.
David
The server-side message is:
Servlet failed with Exception
java.lang.NullPointerException
at weblogic.soap.server.servlet.QueueReceiveAdapter.doPost(QueueReceiveA
dapter.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
The client-side message:
Server returned HTTP response code: 500 for URL: http://localhost:70
01/msg/receiveMsg
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:674)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderFieldKey(HttpURL
Connection.java:1163)
at weblogic.soap.WebServiceProxy.getSessionCookie(WebServiceProxy.java:5
09)
at weblogic.soap.WebServiceProxy.receive(WebServiceProxy.java:477)
at weblogic.soap.WebServiceProxy.invoke(WebServiceProxy.java:431)
at weblogic.soap.SoapMethod.invoke(SoapMethod.java:186)
at ConsumerClient.main(ConsumerClient.java:52) -
PL/SQL Web services working with synonyms but not parameters Collection
Hi
I am Using JDeveloper 10.1.3.1.0
i could able to test successfully the PL/SQL web services with the synonyms.I created the PL/SQL web services in 'MKI' schema and then i dropped the objects from the MKI schema and launched the same in 'BAS' Schema and given grants to MKI schema and Created the Local synonyms in Schema 'MKI' and now when i test the PL/SQL web service, it is working successfully.
There was problem with passing the collection types as parameters in web services in that case it is giving the following Error
"Internal Server Error (Caught exception while handling request: java.rmi.RemoteException: java.sql.SQLException: Internal Error)"
Could any one suggest me the reason for the above error?
Regards
MalathiJust a clarification about the problem.
Even though, if an exception is raised, the Connection object will be eventually closed(), it may take a while and if there are lots of users getting exceptions at the same time the connection pool can quickly run out of connections (correct me if I am wrong please.)
That is why we think the Connection object should be immediately closed in the case of an exception is raised and we are looking for a fix for this.
Thanks
Luis
Maybe you are looking for
-
Links on Homepage doesn't work.
Hello, I created some homepage on a R3 backend linked to an iview on a producer. The iview is then remoted in a federated portal role. With some test user, the links in the homepage works correctly. But when I login with my user (which has several ot
-
Manage On Demand Does Not Work on the Web Site
Trying to Manage on Demand on the web site. Page does not load correctly. IE Crashes. Firefox just does not work. Something wrong with the web site.
-
Change images/content within PDF using controls?
Hi, Sorry about the title of the question -- not sure how to phrase it. Basically I need to know: Is it possible, within a PDF, to give the viewer an option to switch content using a dropdown list, or radio buttons or some other form of control. So,
-
When I open an e-mail part of my mail screen has a gray square box over it. How do I fix this?
-
All was fine until i bought two new albums and tried to sync them today. They appear along with artwork in the library but the 'sync' lettering in 'devices' isn't highlighted and syncing simply does not take place. I had to re-install Norton anti-vir