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

Similar Messages

  • OSB -11g - Calling JMS Proxy Service in a stage

    Hi,
    When we createa JMS based proxy service, the proxy service keeps on polling the JMS Queue for any new messages arriving in the queue. But I do not want the proxy service to keep on polling the Queue. Instead I want to call the JMS Proxy Service in any stage (of any other Proxy Service) using a service callout. It means that I do not want the Queue to be polled always, instead the queue should be polled only when this JMS Proxy Service is invoked.
    Is it possible to do? If so, how?
    Thanks,
    Sanjay

    Hi Anuj,
    Following is my requirement:
    The producer wants to interact with us using Web Services. The input payload has some more values (username and password) apart from the HL7 data (base64 encoded) itself. I have to receive the input payload, authenticate the call and convert the HL7 encoded message into an XML and send it to the consumer.
    What have I done till now:
    1) I have created two Proxy Services PS1 and PS2
    2) Proxy Service (PS1) will be invoked by the producer.
    3) Then I get the username, password and data from the payload
    4) Populate the username and password in the SOAP Header and HL7 data in SOAP Body
    5) Call PS2 from PS1
    6) In PS2 I have configured Message Level Security to authenticate with the username and password
    7) After authentication I make a Java Callout to decode the base64 encoded HL7 data
    8) I now have written my own HL7 sender (Java code) which wraps the decoded HL7 data with MLLP requirements and then send it to the B2B server using a Socket (TCP connection). I do a Java Callout to this Java class.
    9) In B2B I have configured a RTP (Remote Trading Partner) which has a MLLP channel.
    10) I created a ADT message document and a ACK document
    11) I created two agreements between HTP and RTP (one agreement receives the HL7 data from the TRP using MLLP and another which sends the ACK to the RTP using MLLP channel)
    12) In the receiveing agreement I have configured a JMS channel (on the HTP side) becuase of which B2B receives the HL7 Pipe delimited data and translates it and then pushes the XML data into the JMS queue (which needs to be transformed to producer XML)
    13) I have also configured a JMS channel for the RTP which I am using in second agreement to get the acknowledgement. Because of this the ACK is placed in a JMS queue.
    I need to poll this JMS queue in order to send the ACK back to the producer (which I have to do in the response pipeline of PS2). Hence I wanted to pop the message from the JMS queue in the response pipeline and then send that message.
    Please advice if my approach is correct.
    Thanks,
    Sanjay
    Edited by: Sanjay Bharatiya on 17-Mar-2011 12:06 PM

  • 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.

  • 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]

  • BODS SOAP Web Service Connection error RUN-248005

    Hi Experts,
    I need help connecting SOAP web service to BODS. We have configured the initial set up by importing the functions from the WSDL that was provided to us. The WSDL provided us with a request and reply schema as follows:
    We then created the data service job that would consume the function call. An overview of the dataflow is as follows:
    When we run the job with null values for the source table the job returns no errors, but returns no data either into the destination table (Which we think is to be expected because we have no parameters to search on). If we add a value to the source table that is a required field for WSDL GET function (sys_ID) the job runs, but produces the error shown below:
    We configured the data flow by using a reference document that can be found at this link: http://www.dwbiconcepts.com/etl/23-etl-bods/158-web-service-call-in-sap-data-services.html.
    Any help in regards to why we are getting a “No response to web service error” would be much appreciated! Also, if further detail is needed please feel free to ask.

    Yes we did make progress. Follow the steps listed below.
    Pre-Configuration
    A WSDL for BODS can be provided from your vendor (Amazon or Twitter) or created in-house.  In my tutorial I will be using ServiceNow.  ServiceNow is a platform-as-a-service (PaaS) provider of IT service management (ITSM) software.
    The WSDL provided should look like this:
               https://<instance>.service-now.com/incident.do?WSDL
    To verify that the WSDL works you can open it in a browser to see the xml schema.  Since the WSDL is HTTPS the browser will prompt you to enter credentials in order to view it.  The username and password will need to be provided to you from vendor you are trying to connect to.
    BODS requires that any web service connection that is https to have a certificate saved to its internal configuration on the job server where the application resides. The certificate is referenced when the call goes out to verify authentication. 
    You can get the server certificate from the vendor who is providing the web service or you can also download the certificate from the browser and save it in base64 binary encoded format to a file and use that.  In my example I will be using Firefox to export.
    if you have fire fox, then on the left side before the URL Address bar there will be a lock icon, click on view certificate, select the details tab, select the *.service- now.com  and click on export, in the dialog box, select the Save as type X.509 Certificate (PEM), you can save this with any name on your machine.
    Now go to the JobServer machine, go to %LINK_DIR%\ext\ folder, open axis2.xml in notepad,
    since it's https uncomment the following tag (transportReceiver)
    <!--transportReceiver name="https" class="axis2_http_receiver">
    <parameter name="port" locked="false">6060</parameter>
    <parameter name="exposeHeaders" locked="true">false</parameter>
    </transportReceiver-->
    it should look line something below
    <transportReceiver name="https" class="axis2_http_receiver">
    <parameter name="port" locked="false">6060</parameter>
    <parameter name="exposeHeaders" locked="true">false</parameter>
    </transportReceiver>
    uncomment the following tag (transportSender) and comment out the parameter KEY_FILE and SSL_PASSPHRASE, enter the complete location of the certificate that you saved from the browser in the SERVER_CERT parameter. you can save the certificate also in this folder
    <!--transportSender name="https" class="axis2_http_sender">
    <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
    <parameter name="xml-declaration" insert="false"/>
    </transportSender>
    <parameter name="SERVER_CERT">/path/to/ca/certificate</parameter>
    <parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>
    <parameter name="SSL_PASSPHRASE">passphrase</parameter>
    -->
    this should look like
    <transportSender name="https" class="axis2_http_sender">
    <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
    <parameter name="xml-declaration" insert="false"/>
    </transportSender>
    <parameter name="SERVER_CERT">enter the certificate path</parameter>
    <!--parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter-->
    <!--parameter name="SSL_PASSPHRASE">passphrase</parameter-->
    save this file and open this file is browser to make sure that the XML is valid
    ****How to set up multiple axis files****
    Creating a Datastore
    Select Project -> New- >  Datastore
              Datastore name: Applicable Name
              Datastore Type:  Web Service
              Web Service URL: https://<instance>.service-now.com/incident_list.do?WSDL
              Advance <<
              User name: *****
              Password: ******
              Axis2/c config file path: \Program Files (x86)\Business Objects\BusinessObjects Data           Services\ext\Service_now

  • Using Encrypted Web Service connections within Xcelsius 2008 SP1 - FP3

    Hi all,
    I'm running the latest version of Xcelsius Server 2008 and have setup a simplistic dashboard that uses 4 web service connections to dynamically call queries within a SQL Server 2008 database. The dashboard has been exported to html and I can serve this to the WWW.
    I have since created a new https website (using a self signed certificate) and can now serve my Xcelsius dashboard via https. My problem is that I have had to run my old website in parallel (as it serves the said non-encrypted web service) which is linked within the swf source (that is running on the new https enabled website).
    Upon trying to alter my existing xlf file so that it references the encrypted web service URL (which works fine via the browser) it prompts me to accept the self signed certificate. Once I click yes, and then add the certificate to the certificate store the whole thing locks up and I am forced to close Xcelsius.
    Am I right in thinking that Xcelsius will not accept self signed certificates or encrypted web services at all? For me this is big security concern because if I want to share my dashboard via the WWW I have to accept the fact that I need to run an unsecure web service.
    Is this something that is only supported in Xcelsius Enterprise?
    TIA

    Hello Paul,
    Sorry not to have replied to this sooner.
    We have had experience of hosting Xcelsius Dashboards using Https: for one of our clients here at Flynet.
    We noticed a number of issues , we did have problems relating to the Firewall on our Gateway server for example. We also had issues with the number of active connections processed when the dashboard is running. I think the default for Https: is 2 , so the connections can be queued up. Have you retried with one connection open. The Dashboard we did however did have up to 12 connections, so Xcelsius can handle multiple connections.
    When developing the Dashboards using Xcelsius I did have to import using the Web Service URL of the remote server which was Https: However due to issues sometimes with our Gateway Firewall and the way our Local Network had to access the https: URL , what I tended to do was develop using a localhost Web service and then switch the URL to use the https: Web Service once the dashboard was exported to the server it was to be hosted on.
    What we did notice for example is that we could have a dashboard running locally quite happily using the https: web services which are actually on [http://www.flynetviewer.com]   then we would start getting #2 type flash errors. To solve this we had to restart our Windows Firewall on our gateway server. We could run the dashboard fine if run from our web site.
    I am not sure if the issues you have are related to this. I have had problems when I had to import the https: web service URL on my local machine  , I am prompted for the Username password for the Https: location , but when trying to import Xcelsius has a problem and exits. Due to these problems I tended to use a local Web service when developing. I know this isn't always practical.
    I was running on Vista 64 bit , but I also have XP and Server 2003 running on Virtual machines.  
    I will be happy to share information my experiences with you.
    Best Regards,
    Ian Learmonth
    Flynet
    Updated to add: I have just successfully imported an https: Web service. Mapped it to the dashboard , run it and invoked sucessfully. This was on Windows XP professional SP2. 
    I did the same thing on Windows Vista 64 bit and had an issue. So not sure what operating system you are using or whether it's a Certificate thing. I can try and find out a bit more on our Certificate if you need to find out what the issue is.
    The Vista issue seems to have been resolved by running Xcelsius as Administrator.
    When successfully importing I was prompted for the Username and Password for the URL but not the Certificate.
    Edited by: Ian Learmonth on Apr 23, 2009 12:18 PM
    Edited by: Ian Learmonth on Apr 23, 2009 12:30 PM

  • "Unable to load URL" - SQL Server 2005 DB Web Service Connection

    Hi ,
    I am using XCelsius version 5.0.0.99 to create dashboards connecting to SQL Server 2005.
    Find below the details of the steps -
    1. Created a web service within SQL Server 2005 database.
    2. Copied the WSDL URL.
    3. In XCelsius 2008 -> Data Manager -> Web Service Connection, pasted the URL in the WSDL URL input box and clicked "Import" to import the methods. At this point I am getting "Unable to load URL" .
    Am I missing any step ?
    Any suggestion would be highly appreciated.
    Note : I have tested the web service by using it in a ASP.Net project and works fine.
    Thanks
    Chitra

    Hi,
    Error :unable to Load URL occurs" because Crystal xcelsius only support single schema web service created from Query as a web service and Flynet tool available in xcelsius 2008.
    The reason:
    All the web service create from Sql 2005 ,PHP script produced multiple scehma web service and crystal xcelsius only support single schema web service which can be created from Query as a web service or Flynet.
    Please revert in case of any queries.
    Regards
    Kekti Fadnavis

  • Mapping input values for a web service connection to a range of cells

    I've created a web service connection in Xcelsius data manager. My web service requires an array of integer as input parameter. How do I map input values for a web service connection to read from a range of cells in the spreadsheet, e.g. $A$2:$A$20, in similar way of mapping output values to write to a range of cells in the spreadsheet?
    For output values of the web service, I can specify to map the output values to write to a range of cells. However, it doesn't seem to work for reading the input values.
    I can map input values for each node to a single cell, e.g. $A$2, in the spreadsheet. However, when I set the "Read From" field to a range of cells, e.g. $A$2:$A$20, it only reads in the first value in the range.
    Is there any way that we can do this mapping for input values as we do for output values?
    Your assistance is very much appreciated.
    Regards,
    Van

    Van,
    There is a workaround for that...
    Example:
    My Webservice accepts input data range in a specific format with " :" symbol, i.e. 072008:082008
    Now what i do is
    A1 = 072008
    A2 = 082008
    A3 = CONCATENATE(A1,":",A2)
    so A3 = 072008:082008
    Now i map the input value in web service to cell A3
    P.S have 2 input box components and map it to cells A1 and A2, i.e you are giving users an  option to enter the range of values...then web service will capture the range and refreshes data with the range of values user entered.
    hope this helps..
    -Anil

  • Difference beetween QAASW and Web Service Connections

    Hi everybody,
    I'm trying to install a connection between Xcelsius and a QaaWS I created, but it doesn't work. In the list of the different connections available in the Xcelsius Connections Manager, the "QaaWS" connections doesn't appear. Instead of that I can choose the "Web Service Connections" type.
    Do you think this little difference can't be the source of my big problem?
    If not, do any of you would like to risk an explanation about this odd pheanomenom (which seems to belongs to the category of the surnatural things thats happens when I even try to undertake a slight complex task in my Business Objects environnment)
    In advance , thanks a lot ( why "in advance"? Because I feel, I'll get an answer, as an old bohemian woman who's suddenly poped in my office today told me one you would light the darkness of my interrogations)
    Bye bye !!

    Hi Meryll,
    As you have already noticed, invoking a QaaWS URL into the standard Web Service Connection will NOT fire, regardless if everything is configured correctly.
    I would assume that this is by design due to the fact that QaaWS Web Services are fetching data out of a BOE server.  As such, anything that has to do with BOE connectivity (LiveOffice, QaaWS, Open/Save/Import/Export to Enterprise) is only available in the Xcelsius 2008 Engage Enterprise edition.
    Thanks.

  • Dynamic columns on output values for a Web Service connection

    Hello,
    I'm trying to create a web service connection that is similar in response to the XML data connection in that i don't want to fix the number of columns per row down in the WSDL. i.e. i want to create an array of columns:
      <xsd:complexType name="XLRowDef">
        <xsd:sequence>
          <xsd:element name="column" curashared:shortname="c" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
    and for the user of the WSDL (the guy who will design the dashboard) to be able to fix and link the number of columns when he designs the dashboard. I was hoping the button would reveal itself in the "output values" box much like it does in the "input values" but no matter how i twist the xsd - no joy. I also tried just linking the column element to multiple excel columns but still fixes to the first column in the range. Can this result be achieved in Xcelsius short of using an XML data connection?
    Regards,
    Gilbert

    Van,
    There is a workaround for that...
    Example:
    My Webservice accepts input data range in a specific format with " :" symbol, i.e. 072008:082008
    Now what i do is
    A1 = 072008
    A2 = 082008
    A3 = CONCATENATE(A1,":",A2)
    so A3 = 072008:082008
    Now i map the input value in web service to cell A3
    P.S have 2 input box components and map it to cells A1 and A2, i.e you are giving users an  option to enter the range of values...then web service will capture the range and refreshes data with the range of values user entered.
    hope this helps..
    -Anil

  • Calculations in Xcelsius using data generated by a Web Service Connection

    Hi,
    I have set up a web service connection to pull in 4 columns of data: 1. CATEGORY  2. SUBCATEGORY 3. PRODUCT TYPE   4.#OFCALLS.  There will be anywhere from 1 to 500 rows of data depending on day of week and time of day.  The web service sorts the list by #OFCALLS descending. The OUTPUT VALUES of the web service connection are mapped to cells A19:D518.
    Formulas in the spreadsheet take the Top 10 from the list and populate it to cells  A4:D13.  A formula in cell D15 sums the #OFCALLS for the entire web service connection output (A19:D518).
    The data in A4:D15 is mapped to a spreadsheet table on my canvas.   When the report generates, the data from the TOP 10 of the web service connection populates properly, but the cell that should reflect the TOTAL#OFCALLS (D15) shows zero.
    Is it not possible to do additional calculations in the spreadsheet based on data generated by the web service connection?  A major difference between using an XML Map and a Web Service Connection is the XML Map actually populates the spreadsheet with the new data when it is refreshed.  The Web Service connection data never actually appears in the spreadsheet itself, even though it updates to the appropriate vessel on the canvas.   This makes me think that no additional calculations can be done in the spreadsheet based on the web service connection data.
    Can anyone tell me if that is correct?  If so, then the web service connection would also have to pull in the TOTAL#OFCALLS along with the other data.   This would also seem to greatly limit what you could do with data generated by a web service connection, so I am hoping I am wrong and just don't understand how to do this.
    Can anyone clarify this for me?  If I failed to give any pertinent info let me know what it is, and I will update my post.
    Thanks!

    I have seen similar behavior as well.  I have live data coming into Xcelsius from a data connection. 
    A supported Excel formula
    =IF(ISBLANK(J2),I2,VALUE(TODAY()-J2))
    is then applied to one of the columns to create an additional derived column.
    Taking a snapshot of the data shows that the derived column is being populated, however the controls I've tried hooking up to the derived column (charts and labels) are always empty.
    Information on whether this is supported would be appreciated.
    Thank you,
    David

  • Error with web services connection to B1 DI API

    We are attempting to utilize the web services connection to SAP Business One and are running into difficulty.  Below are the particulars:
    -   We are attempting to make a web services connection to B1 using PHP on Linux.
    -   We are able to establish a session, but not able to make a successful web services request.
    -   The attempted action is to add a Business Partner
    -   Error we are receiving:
    SoapFault exception: Not Found in /var/www/test.php:83 Stack trace: #0 : SoapClient->__doRequest('__call('Add', Array) #2 /var/www/test.php(83): SoapClient->Add(Array) #3
    -         We are also able make a successful web services request to the same B1 server using ASP from Windows.
    -         Once we establish a session through PHP / Linux, the DI Server will not respond to either PHP or ASP on Windows
    Any advice or suggestions would be appreciated.

    Russell,
    Since you are getting a "SoapFault Exception", you must be trying to use SOAP messaging.  The DI API does not understand SOAP messages.  You would need to use the DI Server (SDK Help has information on DI Server) for SOAP based messaging and in turn you may also want to look at the Business One Web Services (B1WS) tool that s located in the Tools section of the SAP Business One main page here on SDN.
    HTH,
    Eddy

  • Slow response when using Xcelsius web service connection witn input values

    We've been very successful in using the Xcelsius Web Service Connection. We've recently moved forward toward using input values when calling a web service and having issues with response time. Without input values, it takes 3 - 6 seconds to retrieve and display the results in Xcelsius, but, when using the input values to the web service, it takes about 27 seconds for Xcelsius to retrieve and display the results.  Does anyone have experience with fixing slow response associated with using input values for a web service connection?

    Hi Sharone,
    What's the version of your Xcelsius and BOBJ server?
    I'm asking because using the last version of BOBJ server (BOXI 3.1 SP 3) you have new services on CMC just to help Xcelsius to work better with WebServices.
    Regards,
    Rodrigo.

  • Web Service Connection in Xcelsius 2008

    I have recently upgraded from 4.5 to Xcelsius 2008 and am having trouble getting the Web Service Connections set up correctly for my QaaWS.
    I have 7 LiveOffice connections in a model that seem to all refresh on load fine and i have already set up a Web Service Connection that picks up the drill through path of what the user has clicked on and used them as input parameters to a QaaWS query.
    I now need to add another Web Service Connection for another QaaWS and i get the following error message;
    "Unable to Load URL"
    I have checked the available QaaWS services using dswsbobje/qaawsservices and the 2 queries appear as i would expect.
    I have checked the dsws.properties file and the user name and password are correct (which i would expect as teh 1st connections works in the Xcelsius model.
    I have restarted the Tomcat server and CMS and this does not cure the problem.
    I have even tried re-installing QaaWS.
    I have installed SP1 fix 1 for 2008. I am currently using XIR2 SP2.
    Can anyone help as sometimes this functionality works and sometimes it does not. The 2 queries i want to use point aty teh ssame database and BO Universe.
    Edited by: Anthony Jones on Jan 8, 2009 12:18 PM

    Hi Anthony,
    You might check that type of the licence type of the user QaaWSPrincipal. I had a problem where the QaaWSPrincipal user was Concurrent Access License while my server was Named User only. Switching to Named User resolved the problem.
    However, I am not sure that this is your issue as the you have one QaaWAS url working. YOu might want to check your URL is available
    try
    http://<name of server>:<Tomcat port number>/dswsbobje/qaawsservices
    This contains a list of all URLs. Finally, you might look at importing the wsdl into other applications to see if the issue is Xcelsius or QaaWS related. You can copy to MS Office InfoPath with steps described below.
    http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_query_as_a_web_service_en.pdf
    Hope this helps
    Alan

  • Web Service Connection on fresh SUM formula is zero

    I am using Xcelsius SP1.  I have a field in the spreadsheet that has the formula "=SUM(H12:H16)".  I am using a Web Service Connection to refresh the data.  Following a refresh from the web service connection the field with the SUM formula is 0.  I have discovered that ff the values in SUM range (in my case H12:H16) are identical to the refrehsed data then the formulas results willl be 0.  If one of the sum values is different from the original values then the sum formula works.  Is this a bug? Is there a work around?

    I had a problem with the data format after getting number-values from my web-service, because every number-value I got was not a number - it was a string.
    so I had to convert all the data in Excel from string to number values. after that everything works fine for me.
    you could try that out....

Maybe you are looking for

  • How to install Windows 7 Enterprise using Bootcamp ?

    Hi, I'd like to install Windows 7 entreprise edition on a macbook pro 15" Early 2011 using Lions latest version. I have an orginal CD and also an ISO file. I tried this: - insert the original DVD, start bootcamp, downloaded the drivers and restarted

  • BAPI or FM for AKE1

    Hi all, 1) Do we have any BAPI or FM to create/update/delete records from AKE1/AKE2 tcode? I searched SDN, but in vain. 2) One post was left unanswered in which the question was whether BAPI_PRICES_CONDITIONS can be used for AKE1 tcode? 3) Can BAP_PR

  • LSMW demo

    Hi everyone.... I'm looking for LSMW step by step procedure document......or any material regarding LSMW........Pls help me Thanking you.......

  • Production Order  Start Date

    Hello All, I am facing a problem in a Production order.When I am trying to change the  Production order Start date  and saving the changes I am getting a termination error (program termination). The error message is as below Nested call of PERFORM ON

  • Why is my mac-pro ci7 running hot while working with imovie and eyetv?

    Hello, I am creating short videos of ps-3 gameplays. For recording I use eye-tv and my mac is connected through a HD-Haupauge with my Playstation. When transferring the recording-file from eye-tv to i-movie and getting started to work on the video, m