JMS Web Services in latest OC4J 9.0.3

Just trying out the JMS Web services in OC4J 9.0.3 just released today. Using Ant 1.5 and updated the build.xml file as directed. Using JDK 1.3.02.
Trying the JMS Web Service demo #2 based on JMS on top of Oracle AQ. Everything works fine - queues set up fine, OC4J configured nicely, and the following steps of the build work fine: clean, setup, compile, mdbjar ...
But when I get to the assemble step it crashes with the following error:
assemble:
[echo] assembling Web Services EAR. ..
[java] Please wait ...
[java] java.io.IOException: CreateProcess: javac proxy\JmsDemo2Proxy.java error=2
[java] at java.lang.Win32Process.create(Native Method)
[java] at java.lang.Win32Process.<init>(Win32Process.java:66)
[java] at java.lang.Runtime.execInternal(Native Method)
[java] at java.lang.Runtime.exec(Runtime.java:551)
[java] at java.lang.Runtime.exec(Runtime.java:418)
[java] at java.lang.Runtime.exec(Runtime.java:361)
[java] at java.lang.Runtime.exec(Runtime.java:325)
[java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.doCompile(WsAssmProxyGenerator.java:284)
[java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.processProxy(WsAssmProxyGenerator.java:131)
[java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.clientGenerate(WsAssmProxyGenerator.java:120)
[java] at oracle.j2ee.ws.tools.WsAssembler.assemble(WsAssembler.java:92)
[java] at oracle.j2ee.ws.tools.WsAssembler.main(WsAssembler.java:64)
[java] Exception in thread "main"
BUILD FAILED
file:D:/oc4j903/webservices/demo/basic/jms_service/demo2/build.xml:63: Java returned: 1
What is interesting is the WSDL and proxy appear to have been generated successfully. Even the jmsws2.ear and mdb_service2.jar files appear generated ok. But the web.xml is missing so perhaps this is where it died. Any clues as to what might be wrong ... are changes required in the config.xml file driving the WebServicesAssembly tool?
Thanks for any help.

Went a little further ... given the assembly error seemed to occur on the last step creating the proxy.jar file, I simply skipped over it and did the deployment (changed the build.xml to continue assembly upon failure). This seemed reasonable as all the ear and war files where there; the only missing piece appeared to be the proxy.jar.
The deployment of the service was successful and I downloaded the proxy.jar file from the OC4J instance which in turn allowed me to compile the Web service client. Things were looking up here.
However, when I ran the service I got an error indicating the wrong number of arguments to the underlying queues. Given it got through to the database, I assume my configuration is set up correctly but it is a little hard to debug from here. Here is the error I got (note tried on 9.0.1 and 9.0.2 database):
D:\oc4j903\webservices\demo\basic\jms_service\demo2>java -classpath client;proxy/JmsDemo2_proxy.jar;%CLASSPATH% JmsDemo2
Client
Doing the Send Operation ..on Element
<employee>
<name>Bob</name>
<emp_id>1234</emp_id>
<position>assistant manager</position>
</employee>
[SOAPException: faultCode=SOAP-ENV:Server; msg=oracle.jms.AQjmsException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to &apos;AQ$_JMS_ENQUEUE_OBJECT_MESSAGE&apos;
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at JmsDemo2Proxy.makeSOAPCallDocument(JmsDemo2Proxy.java:73)
at JmsDemo2Proxy.send(JmsDemo2Proxy.java:47)
at JmsDemo2Client.main(client/JmsDemo2Client.java:19)
The two oc4j configuration files requiring editing datasources.xml and application.xml are included below. Datasources was straightforward; I wasn't quite clear about the <resource-provider> entry in application.xml as it wasn't clear if this is a top level element or what. See the very end of this post to see where I put it.
Datasources.xml
<?xml version="1.0" standalone='yes'?>
<!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
<data-sources>
     <data-source
          class="com.evermind.sql.DriverManagerDataSource"
          name="OracleDS"
          location="jdbc/OracleCoreDS"
          xa-location="jdbc/xa/OracleXADS"
          ejb-location="jdbc/OracleDS"
          connection-driver="oracle.jdbc.driver.OracleDriver"
          username="scott"
          password="tiger"
          url="jdbc:oracle:thin:@localhost:5521:oracle"
          inactivity-timeout="30"
     />
     <data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/wsDemoEmulatedOracleCoreDS"
xa-location="jdbc/xa/wsDemoEmulatedOracleXADS"
ejb-location="jdbc/wsDemoEmulatedDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="jemuser"
password="jempasswd"
url="jdbc:oracle:thin:@127.0.0.1:1521:O901"
inactivity-timeout="30"
/>
</data-sources>
application.xml
<?xml version="1.0" standalone='yes'?>
<!DOCTYPE orion-application PUBLIC "-//Evermind//DTD J2EE Application runtime 1.2//EN" "http://xmlns.oracle.com/ias/dtds/orion-application.dtd">
<!-- The global application config that is the parent of all the other
     applications in this server. -->
<orion-application autocreate-tables="true"
     default-data-source="jdbc/OracleDS">
     <web-module id="defaultWebApp" path="../../home/default-web-app" />
     <web-module id="dms0" path="../../home/applications/dms0.war" />
     <web-module id="dms" path="../../home/applications/dms.war" />
<connectors path="./oc4j-connectors.xml"/>
     <persistence path="../persistence" />
<!-- Path to the libraries that are installed on this server.
     These will accesible for the servlets, EJBs etc -->
     <library path="../../home/lib" />
     <library path="../../../sqlj/lib" />
     <library path="../../../rdbms/jlib/xsu12.jar" />
     <!-- Path to the taglib directory that is shared
among different applications. -->
<library path="../../home/jsp/lib/taglib" />
<!-- Uncomment the following element to use JAZN-XML as UserManager
     <jazn provider="XML" location="./jazn-data.xml" />
-->
     <principals path="./principals.xml" />
     <log>
          <file path="../log/global-application.log" />
     </log>
<commit-coordinator>
<commit-class
class="com.evermind.server.OracleTwoPhaseCommitDriver" />
<property name="datasource"
value="jdbc/OracleDS"/>
<!-- Username and password are the optional properties
replace with your commit_co-ordinator_super_user
     <property name="username"
     value="system" />
     <property name="password"
     value="manager" />
-->
</commit-coordinator>
     <data-sources path="data-sources.xml" />
     <namespace-access>
          <read-access>
               <namespace-resource root="">
                    <security-role-mapping>
                         <group name="administrators" />
                    </security-role-mapping>
               </namespace-resource>
          </read-access>
          <write-access>
               <namespace-resource root="">
                    <security-role-mapping>
                         <group name="administrators" />
                    </security-role-mapping>
               </namespace-resource>
          </write-access>
     </namespace-access>
     <resource-provider class="oracle.jms.OjmsContext" name="wsdemo">
<description> OJMS/AQ </description>
<property name="datasource" value="jdbc/wsDemoEmulatedDS">
</property>
</resource-provider>
</orion-application>
Any suggestions? Wait for production?
Mike.

Similar Messages

  • JMS Web Service Configuration

    Hi folks,
    I'm trying to set up a JMS web service on a WebLogic 7.0 server.
    I want this web service to listen for messages on a queue on
    another server running WebLogic 6.1 sp2. Here's what I've done:
    Created web service using WebLogic Workshop modeled after the
    workshop sample SimpleJMS.jws. A file Email.jws contains the
    following code snippet:
    package datatel.jms.email;
    import weblogic.jws.control.JwsContext;
    import EmailControl;
    import javax.jms.Message;
    public class Email
    // Public variables...
    public String m_Message = "default email response";
    public EmailJMS emailJMS = null;
    // Protected variables...
    protected String jmsURL = "http://predict.datatel-info.com:7250";
    // Private variables...
    private String name;
    * @jws:control
    private EmailControl Email_Ctrl;
    /** @jws:context */
    JwsContext context;
    * Initialize the JMS connection to the predict server...
    public Email()
    System.out.println("\nEntering Email.jws constructor...");
    // Initialize JMS on the Predict server...
    emailJMS = new EmailJMS(jmsURL);
    System.out.println("Exiting Email.jws constructor...");
    Notice that the Email() constructor code above references my object EmailJMS(jmsURL).
    This object intializes the JMS connection to the other WebLogic 6.1 server. Here's
    the JMS initialization code in my web service:
    public EmailJMS(String jmsURL) {
    System.out.println("\nEntering EmailJMS constructor with URL..."
    + jmsURL);
    Environment environ = new Environment();
    environ.setProviderUrl(jmsURL);
    try {
    ctx = environ.getInitialContext();
    System.out.println("Got new InitialContext..." + ctx.PROVIDER_URL
    + "\nTime is: " + new Date().toString());
    qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
    qcon = qconFactory.createQueueConnection();
    qsession = (WLQueueSession) qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    /** USER receive queue and listener
    queue = (Queue) ctx.lookup("USER_TX_Q");
    user_recvr = qsession.createReceiver(queue);
    user_recvr.setMessageListener(this);
    textMsg = qsession.createTextMessage();
    objMsg = qsession.createObjectMessage();
    isConnected = true;
    qcon.start();
    // --- more code follows ...
    The JMS connection is successfully made. When another JMS program sends a message
    to the USER_TX_Q, the web service receives the message via the onMessage handler
    in the EmailJMS class.
    The problem arises when I try to invoke my web service from the WebLogic Workshop
    browser Test Form. On invocation on my web service, the following exception occurs:
    start
    = 0.45-->
    name = Harmon .CONVPHASE = .START .CONVERSATIONID = 1023816206621
    Exception
    Submitted at Tue Jun 11 10:23:28 MST 2002
    start
    = 0.45-->
    javax.ejb.CreateException: Exception on Create: java.io.NotSerializableException:
    weblogic.jndi.internal.ServerNamingNode_WLStub at weblogic.knex.bean.WebProcessBean.ejbCreate(WebProcessBean.java:876)
    at weblogic.knex.bean.WebProcessBean_dp0iqg_Impl.ejbCreate(WebProcessBean_dp0iqg_Impl.java:172)
    at java.lang.reflect.Method.invoke(Native Method) at weblogic.ejb20.manager.ExclusiveEntityManager.create(ExclusiveEntityManager.java:731)
    at weblogic.ejb20.manager.ExclusiveEntityManager.remoteCreate(ExclusiveEntityManager.java:702)
    at weblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:250) at
    weblogic.knex.bean.WebProcessBean_dp0iqg_HomeImpl.create(WebProcessBean_dp0iqg_HomeImpl.java:74)
    at weblogic.knex.bean.WebDispatcherBean.invoke(WebDispatcherBean.java:61)
    at weblogic.knex.bean.RemoteDispatcherBean.invoke(RemoteDispatcherBean.java:105)
    at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl.invoke(RemoteDispatcherBean_1a3xc3_EOImpl.java:46)
    at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLSkel.invoke(Unknown
    Source) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:262)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
    at weblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLStub.invoke(Unknown
    Source) at weblogic.knex.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:96)
    at weblogic.knex.dispatcher.Dispatcher.dispatch(Dispatcher.java:73) at weblogic.knex.dispatcher.HttpServer.exploreExec(HttpServer.java:464)
    at weblogic.knex.dispatcher.HttpServer.doGet(HttpServer.java:370) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5352)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:718)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3032)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2466)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
    Service Response
    When I comment out the instantiation of my EmailJMS(jmsURL) object, the web service
    initializes just fine. However, I don't have the JMS connection to my other server.
    What is this stack trace telling me? How do I receive unsolicited JMS messages in
    a web service?
    Thanks,
    Bob Gontarz

    Hi Bob,
    I have tested the same functionality as mentioned by you, and could not see
    any errors, while testing using the Test Form. The JMS queue where I was
    sending messages is on a 6.1 sp2 server.
    Please find attached the two JWS files, which I used to simulate the
    condition, one used for dispatching the messages and the other for receiving
    the messages.
    Please do let me know if your case is any different from the one I have
    tested.
    I look forward to your response.
    Regards,
    Anurag
    Workshop Support
    "Bob Gontarz" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi folks,
    I'm trying to set up a JMS web service on a WebLogic 7.0 server.
    I want this web service to listen for messages on a queue on
    another server running WebLogic 6.1 sp2. Here's what I've done:
    Created web service using WebLogic Workshop modeled after the
    workshop sample SimpleJMS.jws. A file Email.jws contains the
    following code snippet:
    package datatel.jms.email;
    import weblogic.jws.control.JwsContext;
    import EmailControl;
    import javax.jms.Message;
    public class Email
    // Public variables...
    public String m_Message = "default email response";
    public EmailJMS emailJMS = null;
    // Protected variables...
    protected String jmsURL = "http://predict.datatel-info.com:7250";
    // Private variables...
    private String name;
    * @jws:control
    private EmailControl Email_Ctrl;
    /** @jws:context */
    JwsContext context;
    * Initialize the JMS connection to the predict server...
    public Email()
    System.out.println("\nEntering Email.jws constructor...");
    // Initialize JMS on the Predict server...
    emailJMS = new EmailJMS(jmsURL);
    System.out.println("Exiting Email.jws constructor...");
    Notice that the Email() constructor code above references my objectEmailJMS(jmsURL).
    This object intializes the JMS connection to the other WebLogic 6.1server. Here's
    the JMS initialization code in my web service:
    public EmailJMS(String jmsURL) {
    System.out.println("\nEntering EmailJMS constructor with URL..."
    + jmsURL);
    Environment environ = new Environment();
    environ.setProviderUrl(jmsURL);
    try {
    ctx = environ.getInitialContext();
    System.out.println("Got new InitialContext..." + ctx.PROVIDER_URL
    + "\nTime is: " + new Date().toString());
    qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
    qcon = qconFactory.createQueueConnection();
    qsession = (WLQueueSession) qcon.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
    >
    /** USER receive queue and listener
    queue = (Queue) ctx.lookup("USER_TX_Q");
    user_recvr = qsession.createReceiver(queue);
    user_recvr.setMessageListener(this);
    textMsg = qsession.createTextMessage();
    objMsg = qsession.createObjectMessage();
    isConnected = true;
    qcon.start();
    // --- more code follows ...
    The JMS connection is successfully made. When another JMS program sends amessage
    to the USER_TX_Q, the web service receives the message via the onMessagehandler
    in the EmailJMS class.
    The problem arises when I try to invoke my web service from the WebLogicWorkshop
    browser Test Form. On invocation on my web service, the followingexception occurs:
    >
    start
    = 0.45-->
    name = Harmon .CONVPHASE = .START .CONVERSATIONID = 1023816206621
    Exception
    Submitted at Tue Jun 11 10:23:28 MST 2002
    start
    = 0.45-->
    javax.ejb.CreateException: Exception on Create:java.io.NotSerializableException:
    weblogic.jndi.internal.ServerNamingNode_WLStub atweblogic.knex.bean.WebProcessBean.ejbCreate(WebProcessBean.java:876)
    atweblogic.knex.bean.WebProcessBean_dp0iqg_Impl.ejbCreate(WebProcessBean_dp0iq
    g_Impl.java:172)
    at java.lang.reflect.Method.invoke(Native Method) atweblogic.ejb20.manager.ExclusiveEntityManager.create(ExclusiveEntityManager.
    java:731)
    atweblogic.ejb20.manager.ExclusiveEntityManager.remoteCreate(ExclusiveEntityMa
    nager.java:702)
    atweblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:250) at
    >
    weblogic.knex.bean.WebProcessBean_dp0iqg_HomeImpl.create(WebProcessBean_dp0i
    qg_HomeImpl.java:74)
    atweblogic.knex.bean.WebDispatcherBean.invoke(WebDispatcherBean.java:61)
    atweblogic.knex.bean.RemoteDispatcherBean.invoke(RemoteDispatcherBean.java:105
    atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl.invoke(RemoteDispatche
    rBean_1a3xc3_EOImpl.java:46)
    atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLSkel.invoke(Unknown
    Source) atweblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:159)
    atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :262)
    atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :229)
    atweblogic.knex.bean.RemoteDispatcherBean_1a3xc3_EOImpl_WLStub.invoke(Unknown
    Source) atweblogic.knex.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:96)
    at weblogic.knex.dispatcher.Dispatcher.dispatch(Dispatcher.java:73)at weblogic.knex.dispatcher.HttpServer.exploreExec(HttpServer.java:464)
    at weblogic.knex.dispatcher.HttpServer.doGet(HttpServer.java:370)at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) atweblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
    tStubImpl.java:945)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :332)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :242)
    atweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
    ebAppServletContext.java:5352)
    atweblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
    r.java:718)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:3032)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2466)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
    Service Response
    When I comment out the instantiation of my EmailJMS(jmsURL) object, theweb service
    initializes just fine. However, I don't have the JMS connection to myother server.
    What is this stack trace telling me? How do I receive unsolicited JMSmessages in
    a web service?
    Thanks,
    Bob Gontarz
    [SendMessages.jws]
    [HelloWorld.jws]

  • Error Call Web Service Deployed to OC4J 10g with JDev 10g

    I deployed a PL/SQL Package as a Web Service to a Stand Alone 10g OC4J instance. When I invoke the Web Service the text I am returned is this:
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>java.rmi.RemoteException: null; nested exception is:
         java.lang.NullPointerException</faultstring>
    <faultactor>/webservice/Mayoclinic</faultactor>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I can successfully run the Web Service in the OC4J instance in JDev 10g.
    Any ideas. I recieve know errors in JDev 10g Deploying the application.

    Last line should be ...
    Any ideas. I recieve NO errors in JDev 10g Deploying the application.

  • Run Web Service Method when OC4J starts

    Hi,
    I have a number of web services running under OC4J.
    Is there any way to execute a web service method on OC4J startup?
    Thanks in Advance

    Hi,
    My services act as services within oc4j.
    There are essentially multiple deployments of the same .ear, with the application name being used to discern between the service instances.
    I know that I could create proxy classes and then use an OC4JStartup class to fire a method at startup....
    However, this would mean that I would need to create a proxy for each instance ....
    Ideally I would like to have some sort of configuration file that holds the url to each instance --- then use the url within the OC4JStart class to fire a method on each URL
    Thanks
    Paul

  • Can't find source file for newsservice.NewsServiceProxy in JMS Web Service

    i can't find the source file for newsservice.NewsServiceProxy in JMS Web Service. The
    newsservice.NewsServiceProxy is required for client to post news to server and received news from server. But
    i can't find where the file located in the newsservices.jar provided in that tutorial.
    Someone please help me to located it. thank you :)

    Hi,
    You will have to generate this file. The steps to generate this file has been provided in the Install file present under NewsService/doc/Install.html (once newsservice.jar is extracted) - Running the NewsService client application section - Step 1.
    Follow the instructions, and you will be able to download the zip/jar file which contains newsservice.NewsServiceProxy within it.
    Regards
    Elango.

  • JMS Web Service Sample (News service application)

    Hi,
    The Web service client (NewsServiceProxy) invokes send() and this calls NewsQueueEJB. Where do we define NewsQueueEJB to be used as Web service? Is it in config /etc? Does the Web Services assembly tool make than happen?
    Thanks,
    Mustafa

    in config.xml.., you say that the Queue with the context jms/newsQueue is exposed as web service..,this config.xml is read by webservices assembler tool to generate the required config for OC4J. But the web service engine doesnot know who reads the message that is going to be enqueued in this queue. The work of the web service engine is to only get its payload sent to it .., generate a jms message with what was given to it .., and enqueue this message to the queue specified..,it doesnot bother about who is going to dequeue this message..,and process it..
    <jms-doc-service>
    <uri>NewsService</uri>
    <!-- Queue to which message has to be sent when 'send()' operation is invoked-->
    <connection-factory-resource-ref>jms/newsQueueConnectionFactory</connection-factory-resource-ref>
    <queue-resource-ref>jms/newsQueue</queue-resource-ref>
    <!-- Topic from which response can be received when 'receive()' operation is invoked -->
    <reply-to-connection-factory-resource-ref>jms/newsTopicConnectionFactory</reply-to-connection-factory-resource-ref>
    <reply-to-topic-resource-ref>jms/newsTopic</reply-to-topic-resource-ref>
    </jms-doc-service>
    Then , you configure that any message enqueued in jms/Queue must invoke NewsQueueEJB
    The above is defined in ejb-jar.xml and orion-ejb-jar.xml
    <message-driven>
    <description>Message Driven Bean</description>
    <display-name>NewsQueue</display-name>
    <ejb-name>NewsQueue</ejb-name>
    <ejb-class>oracle.otnsamples.jmswebservice.ejb.NewsQueueEJB</ejb-class>
    <transaction-type>Container</transaction-type>
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    <resource-ref>
    <res-ref-name>jms/newsQueue</res-ref-name>
    <res-type>javax.jms.Queue</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    orion-ejb-jar.xml
    <message-driven-deployment name="NewsQueue" max-instances="-1" min-instances="1"
    destination-location="jms/newsQueue"
    connection-factory-location="jms/newsQueueConnectionFactory"
    >
    </message-driven-deployment>
    hope this helps
    Elango

  • Error while invoking a Web service deployed on OC4J from Oracle BPEL

    Hi,
    I had created a web service from a simple java class using JDeveloper and deployed that on OC4J which had emmited a wsdl for the web service. On the same AS my BPEL processing is deployed in which i had created a partner link by using 1st option (i.e Browse WSDL files from local file system) and invoking the published method of the java class.I am expecting that the method of the class which is deployed as web service will be executed and i will get the return of the method as the response of the invoke activity , but i am getting this error :
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="summary">
    <summary>when invoking locally the endpoint 'http://localhost:8080/MyIM-JavaCustomerFactory-context-root/JavaCustFactory', ; nested exception is: ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "JavaCustFactory" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</summary>
    </part>
    <part name="detail">
    <detail>ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "JavaCustFactory" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</detail>
    </part>
    </remoteFault>
    It seems that the Invoke activity is not able to get the WebService and it is asking for some settings , if any clue regarding this pls reply.
    I can also give the wsdl also.
    mail me at [email protected]

    Hi,
    Thanx it is working now.
    BTW can you give me some urls with info of this kind of setting which i need to do for other kind of integarions in J2EE platform.Sorry if i am asking too much as i am a starter in this technology.

  • Webservice + secured jms (Web Service over the JMS trans).

    Apologize since this post is in the webservice forum as well but since it is related to jms as well i put it here as well.
    I have a web service that is using JMS (@WLJmsTransport Web Service over the JMS transport)
    and everything seems to be ok BUt i do not know how to use this if the JMS is secured .
    By Adding security on JMS queue what other things i need to do in order for the webservice to access the queue ?
    (where i specify the credentials ?)
    @WebService(serviceName = "ASyncService", targetNamespace = "http://axyz.org/notification/v1", endpointInterface = "
    axyz.notification.ASyncPort")
    @WLJmsTransport(contextPath = "notify", serviceUri = "async_event", portName = "ASyncServicePort", queue = "events", connectionFactory = "cnfct_receiver")
    Thank you !

    The annotation you gave is for accessing the webservice but in this case it seems the webservice has to access a secured jms
    However having your response lead me to @RunAs which solved my problem.
    Very hard to find this information.
    Thank you very much for your answer !
    Nice blog as well !
    Edited by: user630775 on Jan 28, 2010 2:02 AM

  • Invoking secured web-service deployed in OC4j

    Hi All
    I have implemented security for web-services(UsernameToken profile) and i have deployed it in the standalone Oc4j
    I am trying to invoke the secured webservice now by passing the below security header in the SOAP message.
    <soap:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>admin</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">admin</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    And i am hitting with the below exception
    WSDoAllReceiver: cannot get SOAP header after security processing; nested exception is:
         org.xml.sax.SAXParseException: &lt;Line 9, Column 48&gt;: XML-20100: (Fatal Error) Expected 'EOF'
    Help me out pls ..
    Thanks in advance
    Kalyan

    (Re: Error: org.xml.sax.SAXParseException: <Line 1, Column 2049>: XML-20100:
    Hi!
    Read this site, maybe the solution is on the bottom of the page:
    http://www.orafaq.com/forum/t/91517/0/
    "3. Verify this file to be a valid xml file. There should be no unwanted extra lines after the last element either."
    "4. Make necessary changes in the file. Save the file."
    "5. Try to deploy the application again."
    Bests!
    Tamas

  • Deployment of AM as a web service on the OC4j server raises issues

    Hi,
    I need to create an application with BC4J components. The AM needs to be exposed as a Web Service. Then, some of the VO s and some custom methods would be exposed as Service Methods.
    I have followed these steps:
    1. Created the required application.
    The AM has a VO(say, VO1) and a custom method, say, getSum.
    The signature of getSum is:
    public int getSum(int a, int b)
    2. I have included getSum method and the GetByKey method of VO1 in the Service Interfaces editor.
    3. Created a Business Components Service Interface deployment profile in the project where the service interface is defined .
    4. At the Application level, created a EAR Deployment profile whose "Application Assembly" section includes the "Common" and "MiddleTier" Jars from the Business Components service interface deployment profile above .
    5. Deployed the application using the application-level EAR Deployment profile.
    Deployment completes successfully.
    When I try to access the Service methods, the Invocation comes up fine.
    Two issues crop up after that:
    a) If I invoke getSum, by passing in 2 valid integer values, the following error comes up:
    <env:Fault>
    <faultcode
    xmlns="">env:Server</faultcode>
    <faultstring
    xmlns="">oracle.j2ee.ws.common.databinding.common.spi.DatabindingException: java.lang.NoSuchMethodException: int.<init>(java.lang.String)</faultstring>
    <faultactor
    xmlns=""/>
    </env:Fault>
    b) If I invoke the GetVO1() method, by passing in the valid key values, it throws the following error:
    <ns1:serviceErrorMessage>
    <ns1:code>30003</ns1:code>
    <ns1:message>JBO-30003: The application pool (oracle.apps.model.am.DOOAppModuleService) failed to checkout an application module due to the following exception:</ns1:message>
    <ns1:severity>SEVERITY_ERROR</ns1:severity>
    <ns1:exceptionClassName>oracle.jbo.common.ampool.ApplicationPoolException</ns1:exceptionClassName>
    </ns1:serviceErrorMessage>
    I am using Jdev Drop4. I have already gone through the release notes and set the "Allow Deployed Module access to OC4J internal classes" checkbox to checked, but the issue doesn't get resolved.
    Anybody have any ideas on this? Thanks in advance!

    Hi,
    I'm having the same problem here... anyone know where to look?
    thx in advance,
    Kevin

  • Deploy Web Service on Forms OC4J

    Dear All,
    Is it possible to deploy web service created in Jdeveloper 10.1.3.5.0 (uses plsql package) on OC4J which is part of Oracle Forms 10g (10.1.2)?
    I have read notes about deploying on OAS but cannot find any document which answers my question.
    Please help.
    Sincerely,
    Givi

    Actually, it sounds like your deployment worked fine ... the message:
    "Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me."
    is the message that comes up in Oracle9iAS 9.0.2 at a Web service endpoint. Add a ?WSDL to the URL and you should get the WSDL for the Web service. Add a ?proxy_source to the URL and you should be able to download a client to the Web service.
    Check out this tutorial at step 24 (http://otn.oracle.com/tech/webservices/htdocs/series/plsql/content.html) and you will see how the endpoint URL generates a more satisfying Web service home page in Oracle9iAS 9.0.3 versus the cryptic, but valid message in 9.0.2.
    As for your deployment, the use of admin.jar for deployment only works on stand-alone OC4J's versus real full installations of Oracle9iAS - this is why the Enterprise Manager interface you used worked but the admin.jar did not. There is also a command line interface for Oracle9iAS called DCM which you can read about at:
    http://download-west.oracle.com/docs/cd/A97329_03/core.902/a92171/dcm.htm#620714
    that gives similar functionality. The reason that admin.jar does not work is that DCM and OEM solve a bigger problem in that they also support deployment to and configuration of a clustered environment so have that extra functionality built in.
    Hope this answers your questions and gets you going.
    Mike.

  • JDeveloper Configuration to Deploy the pl/sql web services to external oc4j

    Hello
    I am using JDeveloper 10.1.3.1.0,
    I have a created a pl/sql webservice and when i deply, it was working
    successfully with embedded OC4j.
    I want to deply that web serive to external oc4j.
    Could any suggest me, what are configurations required to set in external oc4j
    to deploy the pl/sql web services.
    Regards
    Malathi

    Hi
    We have already registered the application server and Database in the connections navigator.In the Application server,we have created different domains.
    We used to deploy the bpel process to particular domain in the appplication server.
    But for the web services,when we deply the web service, we were getting only the application server name,how can we deploy our process to external oc4j(Application server)?
    Regards
    Malathi

  • OSB 11g  - lock jms/web-services connection

    Hello!
    I have next configuration:
    ws client <- -> proxy service (soap/http) <- -> osb business service <- one-way ssl -> ws provider (basic authentification)
    jms client <- -> proxy service (soap/jms) <- -^
    Problem:
    If run load test ws client - service work fine, but if in moment this test jms client send message then ws service and jms service have locks by 2 min.
    ThreadStackDump contains:
    "[ACTIVE] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock java.util.Vector@6a692986 BLOCKED
                     java.util.Vector.isEmpty(Vector.java:279)
                     weblogic.net.http.KeepAliveCache.get(KeepAliveCache.java:150)
                     weblogic.net.http.HttpClient.findInCache(HttpClient.java:230)
                     weblogic.net.http.HttpsClient.New(HttpsClient.java:499)
                     weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:239)Do you have ideas about problem?
    Thanks

    The reason for asking was this type of thread locking issues requires reproducible set-up for further investigation. This type of investigation takes time/effort which might not be possible on Forums. Are you able to reproduce it consistently on other machines?If so if you can send me the reproducer, I can try analysis for you. (if time permits)
    Thanks
    Manoj

  • How to get contents of Soap Over JMS web service's wsdl file

    Hi,
    Is there a way to get the soap over jms webservice's wsdl file in browser? if yes please provide me the details how to get it.
    OR how can i get the contensts of WSDL file for soap over jms wsdl file.
    thanks in advance.

    I have the same question ("Assuming I can generate a wsdl file, can I recreate the SOAP request message from the WSDL file automatically (that matches the original request, which is hand build by me?)")
    Have you already found an answer to this?

  • How to create secure EJB web service in Oc4J using JDeveloper?

    We are going to develop a EJB web service running in OC4J using JDeveloper 10.1.3.3.
    By using the JDeveloper feature, we can simply create the web service by using the "Web Service Endpoint Interface" in the session bean.
    However, unlike the web service created from Java class, I can't find any option to change the security setting of this web service. We tried adding annotation like @DenyAll for testing, but there has no effect and related method can still be called without WS-Security header.
    Now, we can only change the security setting via the web console after deployment (select the web service, then enable security in administration page, and then edit security configuration to change the inbound policies for authentication). It works in our local machine, but it may not work in the production environment as we cannot touch the em console.
    May I know if there has any way to include the security setting inside the project?
    Thanks in advance.

    If I am not wrong, you might be probably talking about this :
    http://docs.oracle.com/cd/B40099_02/books/EAI2/EAI2_WebServices33.html#wp179056
    In order to implement the SOAP header, you would have to :
    (1) Define SOAP header in the wsdl of the service.
    (2) Add a new soap binding in the wsdl, which contains soap header and soap body.
    I think, this should get you going..

Maybe you are looking for

  • Submitting a user's file to an applet.

    Hi, I am fairly new to Java, but I have spent a large part of this year learning about and using Java to write a program for biochemists, to allow them to study a particular class of enzymes. I have used Java because I wanted to enable to program to

  • How do I transfer settings from an old computer to a new one

    I have a new laptop with Windows 7 and want to import all my Firefox settings from my old laptop.

  • How to reinstall only the missing loops?

    When installing Logic, I accidentally interrupted(cancelled) one of the installers. (Audio Content 2). When I tried to reinstall logic, after inserting disc1, it asked me for Audio content 3. As a result, I do not know whether the loops installed pro

  • F110: payment doc spliting

    Dear all, After F110, we expect to have one payment doc per vendor. However, same payment doc number lists  twice. each payment doc group different doc type. eg. we have RE, KA and ZE in the open invoice. after f110, ZP shows twice with same doc numb

  • Dead Computer

    My computer died that I had my phone connected to, the applecare is done and I'm not going to take it in for service I'll just buy a new iMac or a MacBook. My question is what happens to all my music that I synced through iTunes and how do I de autho