JNDI service returns a different ConnectionFactory implementation
Hello,
I have a WebSphere server that runs a JNDI service, in which I defined an entry for a ConnectionFactory declared on a remote server. On the server I run an EJB application which connects the JNDI and gets the ConnectionFactory. I also have a stand-alone Java application which gets the ConnectionFactory from the JNDI on the server.
The problem is that the implementation class for the ConnectionFactory I get is different between the EJB and the stand-alone applications. The stand-alone application recieves a MQXAQueueConnectionFactory, which is just fine because I want to use XA transactions, but the EJB application receives a JMSQueueConnectionFactoryHandle!
What can be the reason for that? How does the JNDI service determine which implementation class to return?
(I suppose that is a specific behavior for Websphere...) How can I control that, if at all?
Thanks!
I have a similar situation occurring. Was therre any resolution found?
Similar Messages
-
JNDI returns a different class for different applications
Hello,
I have a WebSphere server that runs a JNDI service, in which I defined an entry for a ConnectionFactory declared on a remote server. On the server I run an EJB application which connects the JNDI and gets the ConnectionFactory. I also have a stand-alone Java application which gets the ConnectionFactory from the JNDI on the server.
The problem is that the implementation class for the ConnectionFactory I get is different between the EJB and the stand-alone applications. The stand-alone application recieves a MQXAQueueConnectionFactory, which is just fine because I want to use XA transactions, but the EJB application receives a JMSQueueConnectionFactoryHandle!
What can be the reason for that? How does the JNDI service determine which implementation class to return?
(I suppose that is a specific behavior for Websphere...) How can I control that, if at all?
Thanks!I have a similar situation occurring. Was therre any resolution found?
-
Greetings,
I would like to create a JNDI service implementation for searching information from a database.
1- It's easy to implement such service?
2- Can I deploy the service as JNDI service a J2EE application server?
For instance, my client in J2EE would set the initial parameters in context and would access to my service implementation. This implementation could be done by J2EE modules (EJBs, and others).
However, I never done this and I don't know if it's possible and how much work it would give. Some sample of a custom service would be also very helpful.
Thanks,
Pedro SalazarThat's exactly what I'm planning!
What I want to do is having some cache in memory (~hashmap) avoiding query all the time a big database table (~about 50 million records) with concurrency updates. I think entity beans are not very suitable (however it could be planned to replace the database queries itself) but ...
Now, I really don't know if my JNDI custom implementation is replicated with the cache (hashmap), how often, what happens if a server instance reloads and how the locks are handled. What happens if I bind an object (cache) in the default JNDI tree?
It's very important that a server instance when starts load the cache from other servers to avoid a clean cache. (I could also live with a unsyncronized caches - distributed and independent caches in each server through a singleton).
I don't know if a JMX or even a RMI could help on loading the cache from other servers...
Any comments about it?
regards,
Pedro Salazar. -
Does client container provides JNDI services?
I'm confused in a client side JNDI lookup question. A requirement to me is to obtian ConnectionFactory from JNDI and connect to a EIS via client-side Resource Adapter, but on my client side, the JNDI string is java:comp/env/eis/local/ABC. I'm wondering does client container provides JNDI services? I'm a newbie on this, so any help will be apreciated. Thanks!
[email protected]I am just pasting some contents regarding this. This may solve ur doubt
Obtaining the InitialContext Using the Client's Environment
The properties can be initialized in the client's environment, thus avoiding the need to hardcode the values for these properties inside the client's code. To do this, the following environment variables must be set. If any of the properties isn't set, its default value (if any) is assumed:
java.naming.factory.initial? Provides the value for Context.INITIAL_CONTEXT_FACTORY
java.naming.provider.url? Provides the value for Context.PROVIDER_URL
java.naming.security.principal? Provides the value for Context.SECURITY_PRINCIPAL
java.naming.security.credentials? Provides the value for Context.SECURITY_CREDENTIALS
These properties may be set in the Java runtime's system properties, or in cases of an applet, in the applet's parameter list.
Another way of setting these properties in the JNDI environment is by the use of resource files. A resource file is a flat file containing key-value pairs that define the JNDI's environment. The keys are the different properties that have been discussed in this section. This file should be named jndi.properties and should be available in the application's class path. In addition to this, JNDI also looks for the jndi.properties file under the lib/ subdirectory under java.home. All the readable resource files are loaded into the application's environment. In most cases, if the same property is defined in different resources, the first value found is used. In a few other cases, where it makes sense, the values found in the different resource files are concatenated.
After these properties have been set, you can initialize the InitialContext simply by invoking its default constructor:
Context ctx = new InitialContext() ;
You can find this example in ch08/com/wlsunleashed/jndi/Example2.java. This example obtains the InitialContext object from the WebLogic Server and tries to looks up javax.transaction.UserTransaction. To execute this example, start the WebLogic Server instance in your local host, listen in port 7001, and execute the corresponding class. Pass in the different fields discussed in this section as command-line parameters. For example, you can execute the class file using the following command line:
C:> java -Djava.naming.factory.initial=
weblogic.jndi.WLInitialContextFactory
-Djava.naming.provider.url=t3://localhost:7001
com.wlsunleashed.jndi.Example2
Experiment with this example a little more by creating a jndi.properties file and putting it in your classpath. Now execute this class without the command-line arguments. You'll get the same results. Perform the test again, but this time provide the command-line arguments along with the jndi.properties file. Make the port number in the command line incorrect. You'll notice that the value provided in the command line is used, and the class file errors out. It's quite easy to notice that the command line gets precedence over the jndi.properties file. -
BUG: Web service returns request XML as response when result too large
Hi,
sorry for cross-posting, but the Web Services forum seems to be quite abandoned and this is an urgent issue for me.
I have a web service returning some records of a given type (created using JDeveloper 10.1.3.3). The running environment and the service implementation do not seem to make any difference, as the situation is the same whether running it in embedded OC4J or in AS 10.1.3.1, and whether it is generated from a PL/SQL procedure or a method of a plain Java class.
The problem is that if the result of this web service is too large (contains a lot of records), then the processing halts in some Oracle class in some web service library, so not in a debuggable generated web service source or in the service implementation itself.
I think that the XML processing halts because of a "java.lang.OutOfMemoryError: Java heap space".
Then a more serious problem follows: the service doesn't return a fault message but the original request XML as a response. Obviously, this can lead to some really unexpected errors.
To reproduce this error:
1. Create a Java class with a method returning an array of an arbitrary type, of the size specified in an input parameter.
2. Create a web service from this class.
3. Call it multiple times increasing the size parameter in every call until you get back the request as response or any error message.
For example:
- if you test the web service using the web page generated to access the endpoint, then you can see the response XML - in case you don't get an Internal Server Error (Java heap space).
- if you use a generated web service proxy for testing, then it will give an error saying "unexpected element name: expected={namespace}someOperationResponseElement
actual={namespace}someOperationElement".
Any ideas how to locate / solve this problem?
Regards,
PatrikPatrik,
the usual recommendation is to try with 10.1.3.3 instead of 10.1.3.1 to exclude you are hunting down an already fixed issue. From what you describe, the error seems less JDeveloper related than OC4J or OracleAs.
So in case it reproduces in 10.1.3.3 I suggest to create a testcase and open a service request with support, or try the OC4J forum in case its known there.
Frank -
How to change JNDI service provider for EJB's?
I need EJBean's home interface to be bound to another JNDI provider, not Weblogic.
How can I do it?
The most simple solution is not working: to specify <jndi-name> in weblogic-ejb-jar.xml
for bean as "xxx:bean_name".
By JNDI rules for such names context factory with name com.sun.jndi.url.xxx.xxxURLContextFactory
will be used. But for Weblogic this does not work. An exception is thrown during
bean deployment -
javax.management.MalformedObjectNameException: ObjectName: Invalid value -> xxx:bean_name
at javax.management.ObjectName.validateAndAdd(ObjectName.java:440) at javax.management.ObjectName.initObjectName(ObjectName.java:409)
at javax.management.ObjectName.<init>(ObjectName.java:254) at weblogic.management.WebLogicObjectName.<init>(WebLogicObjectName.java:196)
at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:90)
at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:83)
at weblogic.ejb20.internal.BaseEJBHomeMBean.<init>(BaseEJBHomeMBean.java:33) ......................This is not an answer on my
question - My questions was: how to force a Welogic EJB Container to BIND EJBean's
home interface to another JNDI Service provider, not Weblogic.
But you wrote how to use JNDI in general - I already know how to use it :)))
Phil.
"VSK" <[email protected]> wrote:
Hi
Have a look at the code below
private Context getInitialContext () throws NamingException
String from = "CtxHelper::getInitialContext ";
String webLogicHostUrl = t3://SERVERNAME:9001
Logger.debug(from, "Begin Method", 3);
Hashtable h = System.getProperties();
h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory
h.put(Context.PROVIDER_URL, webLogicHostUrl);
return new InitialContext(h);
} //end getInitialContext
This way we will get the InitailContext and then do a jndi lookup using
the
Context object as follows
ctx.lookup..........
Now in the above code replace weblogic.jndi.WLInitialContextFactory by
ur
provider.
Hope this helps.
-VKS
"Phil Peshin" <[email protected]> wrote in message
news:[email protected]...
I need EJBean's home interface to be bound to another JNDI provider,not
Weblogic.
How can I do it?
The most simple solution is not working: to specify <jndi-name> inweblogic-ejb-jar.xml
for bean as "xxx:bean_name".
By JNDI rules for such names context factory with namecom.sun.jndi.url.xxx.xxxURLContextFactory
will be used. But for Weblogic this does not work. An exception isthrown
during
bean deployment -
javax.management.MalformedObjectNameException: ObjectName: Invalidvalue -> xxx:bean_name
at javax.management.ObjectName.validateAndAdd(ObjectName.java:440)at
javax.management.ObjectName.initObjectName(ObjectName.java:409)
at javax.management.ObjectName.<init>(ObjectName.java:254) atweblogic.management.WebLogicObjectName.<init>(WebLogicObjectName.java:196)
atweblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelega
te.java:90)
atweblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate
..java:83)
atweblogic.ejb20.internal.BaseEJBHomeMBean.<init>(BaseEJBHomeMBean.java:33) -
OSB best practices to run business service on two different environments
Hi.
I am using Service Bus 11gR1
Oracle Service Bus Version: [Oracle Service Bus L10N Dependencies 11.1 Fri Dec 4 17:43:22 EST 2009 ]
Oracle Weblogic Server Version: [WebLogic Server 10.3.5.0 Fri Apr 1 20:20:06 PDT 2011 1398638 ]
I deploy my OSB services on two different environments (development, production).
How to setup business service to run on two different environments without changing source (business service transport Endpoint URI)?
Thanks in advance.I am not sure of any tutorial.
For your case if you just have one URI and you want to change the URI for the business service you can simply use the OSB Customization file.This is straight forward.
If you have complex routing logic based on inputs fields ,you can follow the below steps,
Create a simple table with Business Service Name,Env and URI as columns.
Create a select DBAdapter to return the URI
Create a business svc out the DBAdapter files
Use the business service to fetch the URI and finally
Use the URI override( ref - http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html)
Edited by: Prabu on Feb 21, 2012 8:10 PM -
Let JNDI use a own TrustManager interface implementation
morning,
i did now reach the point where my ldap enabled application is able to connect to a directory server over ssl.
i further figured out, that it is possible to tell jsse to use a own implementation of the TrustManager interface so that i would, e.g. be able to let my application talk to every directory server without any matter of being the certificate used by that server added to the keystore file used by the application.
now one of the last problems is, that i do not know how to tell the jndi to use my customized X509TrustManager implementation.
can anyone tell me how i can do that, please?
greez
dialscHello.
Frist you create your own Trust manager, which looks something like:
package test;
import java.security.cert.X509Certificate;
import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
public class TestX509TrustManager implements X509TrustManager {
public TestX509TrustManager() {
public void checkServerTrusted(X509Certificate[] chain, String authType) throws
CertificateException {
public X509Certificate[] getAcceptedIssuers() {
return null;
public void checkClientTrusted(X509Certificate[] chain, String authType) {
return;
}Then you create your own Socket factory which looks something like:
package test;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.net.SocketFactory;
import javax.net.ssl.SSLSocketFactory;
import java.security.KeyManagementException;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import java.security.NoSuchAlgorithmException;
public class TestSocketFactory extends SocketFactory {
private static TestSocketFactory factory;
private SSLSocketFactory sf=null;
private TestSocketFactory() {
createFactory();
public static synchronized SocketFactory getDefault() {
if(factory == null){
factory = new TestSocketFactory();
return factory;
public void createFactory() {
try {
TrustManager[] tm = new TrustManager[] {new TestX509TrustManager()};
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, tm, null);
sf = sc.getSocketFactory();
catch (KeyManagementException e) {}
catch (NoSuchAlgorithmException e) {}
public Socket createSocket(String host, int port) throws IOException, UnknownHostException {
return sf.createSocket(host,port);
public Socket createSocket(String host, int port, InetAddress localHost, int localPort)
throws IOException, UnknownHostException {
return sf.createSocket(host, port, localHost, localPort);
public Socket createSocket(InetAddress host, int port) throws IOException {
return sf.createSocket(host,port);
public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort)
throws IOException {
return sf.createSocket(address, port, localAddress, localPort);
}Finally, you'll have to tell the system to use your custom Socket factory:
LdapContext ctx = null;
public LdapTest() throws NamingException {
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://myserver.com:636/dc=foo");
env.put(Context.SECURITY_PROTOCOL, "SSL");
env.put(Context.SECURITY_AUTHENTICATION, "none");
env.put("java.naming.ldap.factory.socket", "test.TestSocketFactory");
ctx = new InitialLdapContext(env, null);
}The important statement above is: env.put("java.naming.ldap.factory.socket", "test.TestSocketFactory"); -
Accessing Tomcat 4.03 JNDI service from JAAS LoginModule
Hi!
I have following problem:
I have custom JAAS LoginModule that uses JNDI to lookup DataSource object.
My LoginModule and LoginConfiguration implementation classes are located
in Tomcat's classpath.
I tried first to put JAAS related classes under [TOMCAT-HOME]/common/lib,
but that caused exception:"Unable to load LoginConfiguration".
It looks like Java's core classes have no access/visibility to classes under Tomcat.
I'm using JAAS authentication directly from a servlet, so I'm using no
Tomcat specific realms in authentication.
Servlet just calls:
LoginContext lc = new LoginContext( jaasApplName,
customUserPasswordCallbackHandler );
lc.login( );
Everything works fine until LoginModule tries to lookup datasource
after obtaining InitialContext with
InitialContext initCtx = new InitialContext( );
DataSource ds = (javax.sql.DataSource) initCtx.lookup(
dataSourceName );
I got exception with message : "Name MIPCoreDS is not bound in this
context.".
MIPCoreDS is configured in Tomcats configuration file server.xml under
<GlobalNamingResources> tag.
Should this be visible for JAAS Login module or not?
When servlet's make same lookup under Tomcat, datasource is found fine.
It seems that loginModules have no visibility to JNDI objects configured
under Tomcat.
Is this right?
Is it possible any way to put JAAS working with Tomcat 4.0.3, so
that LoginModules can access JNDI objects bound to Tomcat's JNDI service?
Is it possible to call Tomcat's JNDI service outside Tomcat?
Any help is appreciated.
Best Regards,
AkiUsing JAAS in Servlets is messy - I found a working example at
http://www.loadedanswers.com
go to the Documents section and the eg is there.
Have fun :) -
What happens when a OUT parameter of a web-service returns an empty string
Hi,
Any idea on how to deal with the situation when a web-service returns an empty string
I get the following System Exception:-
Caused by: java.lang.AssertionError: Attempt to set empty javaType to ticketResponse(out,0) :: fuego.type.FuegoClass$LazyRef@6770f2. It must be null or a valid java type.
It therefore either expects a null value or a valid java type...
Since it goes into a system exception, the activity is not completed and nothing is inserted into the web-service..
How do we resolve this error inside of BPM?Thanks Ben for your replies.
Before I attempt changing a VI that was written by a client and make a total mess of it, there's something I'd like to point out.
I tried the re-entrant VI approach and that didn't go any further than the VIT approach, and probably for the same reason(s).
The interesting part is that (with the VIT approach) the same VIT is called by another process and it works fine. It is just for the process that has it appear within 2 sub-panels. So the issue is related to having either having two instances spawn at once of the same VIT or it is related to the sub-panels. I think it is the two instances (or copies of the VIT) that causes LV to caugh...
So you are trying to tell me that the above description is accurate and it is because of the private methods...??...
How would I "wrap" those private methods into public ones? The seems to be a piece of this puzzle that I am not yet grasping..
Thanks for your patience and help.
RayR -
Invoking a web service returning a arraylist of custom type
Hi, I created a web service return a arraylist<InsertionSerialisable>.
InsertionSerialisable can't be simpler here it is:
public class InsertionSerialisable {
public String nom = null;
public String poids = null;
I'm trying to use this arraylist in bpel but the returned parameter of my parter link for this web service is item of type anyType and I can't access my nom and poids string member. In a bpel process how can access member of custom element into an arraylist<InsertionSerialisable>?
Here is my wsdl:
<definitions
name="ObtenirInsertions"
targetNamespace="http://expedierdocument/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://expedierdocument/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns0="http://www.oracle.com/webservices/internal/literal"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://expedierdocument/"
elementFormDefault="qualified" xmlns:tns="http://expedierdocument/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
<import namespace="http://www.oracle.com/webservices/internal/literal"/>
<complexType name="InsertionSerialisable">
<sequence>
<element name="poids" type="string" nillable="true"/>
<element name="nom" type="string" nillable="true"/>
</sequence>
</complexType>
<element name="obtenirInsertions" type="tns:obtenirInsertions"/>
<complexType name="obtenirInsertions">
<sequence>
<element name="inExpInsPath" type="string" nillable="true"/>
<element name="inIdentificationLettre" type="string" nillable="true"/>
<element name="inSpecialite" type="string" nillable="true"/>
</sequence>
</complexType>
<element name="obtenirInsertionsResponse" type="tns:obtenirInsertionsResponse"/>
<complexType name="obtenirInsertionsResponse">
<sequence>
<element name="return" type="ns1:arrayList" nillable="true"/>
</sequence>
</complexType>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/webservices/internal/literal"
elementFormDefault="qualified" xmlns:tns="http://www.oracle.com/webservices/internal/literal"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
<import namespace="http://expedierdocument/"/>
<complexType name="arrayList">
<complexContent>
<extension base="tns:list">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="list">
<complexContent>
<extension base="tns:collection">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="collection">
<sequence>
<element name="item" type="anyType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</schema>
</types>
<message name="ObtenirInsertions_obtenirInsertions">
<part name="parameters" element="tns:obtenirInsertions"/>
</message>
<message name="ObtenirInsertions_obtenirInsertionsResponse">
<part name="parameters" element="tns:obtenirInsertionsResponse"/>
</message>
<portType name="ObtenirInsertions">
<operation name="obtenirInsertions">
<input message="tns:ObtenirInsertions_obtenirInsertions"/>
<output message="tns:ObtenirInsertions_obtenirInsertionsResponse"/>
</operation>
</portType>
<binding name="ObtenirInsertionsSoapHttp" type="tns:ObtenirInsertions">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="obtenirInsertions">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="ObtenirInsertions">
<port name="ObtenirInsertionsSoapHttpPort" binding="tns:ObtenirInsertionsSoapHttp">
<soap:address location="http://192.168.0.2:8888/Application1-ExpedierDocument-context-root/ObtenirInsertionsSoapHttpPort"/>
</port>
</service>
</definitions>
Thank you!Hi, I created a web service return a arraylist<InsertionSerialisable>.
InsertionSerialisable can't be simpler here it is:
public class InsertionSerialisable {
public String nom = null;
public String poids = null;
I'm trying to use this arraylist in bpel but the returned parameter of my parter link for this web service is item of type anyType and I can't access my nom and poids string member. In a bpel process how can access member of custom element into an arraylist<InsertionSerialisable>?
Here is my wsdl:
<definitions
name="ObtenirInsertions"
targetNamespace="http://expedierdocument/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://expedierdocument/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns0="http://www.oracle.com/webservices/internal/literal"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://expedierdocument/"
elementFormDefault="qualified" xmlns:tns="http://expedierdocument/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
<import namespace="http://www.oracle.com/webservices/internal/literal"/>
<complexType name="InsertionSerialisable">
<sequence>
<element name="poids" type="string" nillable="true"/>
<element name="nom" type="string" nillable="true"/>
</sequence>
</complexType>
<element name="obtenirInsertions" type="tns:obtenirInsertions"/>
<complexType name="obtenirInsertions">
<sequence>
<element name="inExpInsPath" type="string" nillable="true"/>
<element name="inIdentificationLettre" type="string" nillable="true"/>
<element name="inSpecialite" type="string" nillable="true"/>
</sequence>
</complexType>
<element name="obtenirInsertionsResponse" type="tns:obtenirInsertionsResponse"/>
<complexType name="obtenirInsertionsResponse">
<sequence>
<element name="return" type="ns1:arrayList" nillable="true"/>
</sequence>
</complexType>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/webservices/internal/literal"
elementFormDefault="qualified" xmlns:tns="http://www.oracle.com/webservices/internal/literal"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
<import namespace="http://expedierdocument/"/>
<complexType name="arrayList">
<complexContent>
<extension base="tns:list">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="list">
<complexContent>
<extension base="tns:collection">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="collection">
<sequence>
<element name="item" type="anyType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</schema>
</types>
<message name="ObtenirInsertions_obtenirInsertions">
<part name="parameters" element="tns:obtenirInsertions"/>
</message>
<message name="ObtenirInsertions_obtenirInsertionsResponse">
<part name="parameters" element="tns:obtenirInsertionsResponse"/>
</message>
<portType name="ObtenirInsertions">
<operation name="obtenirInsertions">
<input message="tns:ObtenirInsertions_obtenirInsertions"/>
<output message="tns:ObtenirInsertions_obtenirInsertionsResponse"/>
</operation>
</portType>
<binding name="ObtenirInsertionsSoapHttp" type="tns:ObtenirInsertions">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="obtenirInsertions">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="ObtenirInsertions">
<port name="ObtenirInsertionsSoapHttpPort" binding="tns:ObtenirInsertionsSoapHttp">
<soap:address location="http://192.168.0.2:8888/Application1-ExpedierDocument-context-root/ObtenirInsertionsSoapHttpPort"/>
</port>
</service>
</definitions>
Thank you! -
Different Service Desks in different clients in the same Solution Manager?
Hi
Is it possible to place different Service Desks in different clients in the same Solution Manager?
Concrete we plan the following scenario:
- Division 1
-- System 1,2,3, etc.
-- Service Desk in client 100
-- Monitoring for the whole trust in client 050 (still exists)
- Division 2
-- System 4,5,6, etc.
-- Service Desk in client 200
-- Monitoring for the whole trust in client 050 (still exists)
Is it possible to realize this scenario or are there any restrictions?
Thanks & Regards
Andreas
Edited by: Andreas Städler on Mar 19, 2008 5:52 PM
Edited by: Andreas Städler on Mar 19, 2008 5:54 PMhi Neil
did u solve the problem still Struck let me know
we can access the same iview n no of clients. let me know any do u have any queries and other infomation
bvr
Edited by: bvr on Dec 2, 2008 6:32 AM -
ABAP-based web service returns numeric values with leading zeros
Hi SOA experts,
I have created a web service out of an ABAP function module. Beside other values, this service returns a list of document numbers. All of these numeric values are returned by the web service with leading zeros, but we do want these values w/o leading zeros.
Any ideas how I can tell the web service to not print any leading zeros?
Thanks in advance for your help!
Kind regards, Matthias
PS: The according function module does not print any leading zeros for the numeric valueshi,
just a guess: I'd try to use I instead of NUMC for the document numbers.
NUMC is no number but a character string with numeric characters only. only some display routines in SAP know that this string of numerals represents a number and omit leading zeroes.
my 2 cents,
anton -
0
HI All,
I am having problem with the power pivot dashboard.
power pivot dashboard processing job fails with the follwoing error message.
SP 2013 with 2008 r2
SQL 2014 power pivot on new analysis server.
Data refersh of cube and database works finw form the power pivot gallery.
The Execute method of job definition Microsoft.AnalysisServices.SPAddin.UsageProcessingTimerJob (ID 726034a7-b9a9-45a6-b720-640b3f785e49) threw an exception. More information
is included below. Call to Excel Services returned an error.
ULS error:
EXCEPTION: System.InvalidOperationException: Call to Excel Services returned an error. ---> Microsoft.AnalysisServices.SPClient.Interfaces.ExcelServicesException: We're sorry.
We ran into a problem completing your request. ---> Microsoft.Office.Excel.Server.WebServices.ExcelServerApiException: We're sorry. We ran into a problem completing your request.
at Microsoft.Office.Excel.Server.WebServices.ApiShared.ExecuteServerSessionMethod(Boolean hasSessionId, String sessionId, CoreServerSessionMethod coreWebMethod, String name,
Boolean skipFeatureCheck)
at Microsoft.Office.Excel.Server.WebServices.ExcelService.OpenWorkbookInternal(String workbookPath, Boolean editingMode, String uiCultureName, String dataCultureName, Boolean
newWorkbook, Boolean suppressRefreshOnOpen, Boolean openExclusive, Status[]& status)
at Microsoft.Office.Excel.Server.WebServices.ExcelService.OpenWorkbookEx(String workbookPath, String uiCultureName, String dataCultureName, Boolean exclusive, Status[]&
status)
at Microsoft.AnalysisServices.SPClient.ExcelApi.<>c__DisplayClassa.<OpenWorkbookEx>b__9(ExcelService svc, Status[]& status)
at Microsoft.AnalysisServices.SPClient.ExcelApi.Call[T](String fileUrl, ExcelServiceCall`1 serviceCall) -
-- End of inner exception stack trace --- -
-- End of inner exception stack trace ---
at Microsoft.AnalysisServices.SPClient.ExcelApi.Call[T](String fileUrl, ExcelServiceCall`1 serviceCall)
at Microsoft.AnalysisServices.SPClient.ExcelApi.Call[T](String fileUrl, ExcelServiceCall`1 serviceCall, String methodName, Object[] parameters)
at Microsoft.AnalysisServices.SPClient.ExcelApi.OpenWorkbookEx(String fileUrl, String uiCultureName, String dataCultureName, Boolean exclusive)
at Microsoft.AnalysisServices.SPClient.ASSPClientProxy.OpenWorkbookModelForRefresh(String workbookPath, SessionLifetimePolicy lifetimePolicy)
at Microsoft.AnalysisServices.SPAddin.UsageProcessingTimerJob.RefreshUsageCube(GeminiServiceApplication application)
at Microsoft.AnalysisServices.SPAddin.UsageProcessingTimerJob.Execute(Guid targetInstanceId)
Thanks
RaviHI Ravi,
Did you find the solution?
Thanks in advance
Regards,
Faraz Javaid -
Do I have to use opmn:ormi in the JNDI Service Provider URL?
Trying to create a new Enterprise Message Source (JMS) and it's not updating the Data Object. Tested the OC4J queue using a Java POJO listener ... sending and receiving text message seems okay. I created a basic Plan (there's only one data element for now) and it is running.
Any suggestions would be appreciated!Here is a document from Ranga on how to connect BAM to OJMS (hope it helps):
Database Trigger - OJMS - BAM Integration Sample
Last updated 07/27/05 Ranga
OJMS setup
Step 1 - Oc4j setup
Install Standalone/Developer 10g OC4J or production version Application server.
Developer version download -http://www.oracle.com/technology/software/htdocs/devlic.html?/technology/software/products/ias/htdocs/utilsoft.html#1012 or from http://bamqa.us.oracle.com/bamqaWiki/attach?page=Downloads%2Foc4j1012_extended.zip
Modify following configuration files
o Add entry in <OC4J_Install_location>\j2ee\home\config\data-sources.xml for your database, use below sample replacing HOST, PORT and SERVICE_NAME in url tag
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="TTTDS"
location="jdbc/OracleTTTDS"
xa-location="jdbc/xa/OracleXaBamDS"
ejb-location="jdbc/OracleEjbBamDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=tcp)(HOST=stank04)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=db10g)))"
inactivity-timeout="30"
/>
o Add a resource provider entry in <OC4J_Install_location>\j2ee\home\config\application.xml
<resource-provider name="BAMTTT" class="oracle.jms.OjmsContext">
<description>BAM for Generic</description>
<property name="datasource" value="jdbc/OracleTTTDS"/>
</resource-provider>
Step 2 - Database setup
Install 10g or 9i database, below steps will setup AQ in sample schema scott.
Connect to database as sys and grant AQ permissions to scott user
connect sys/welcome1@db10g as sysdba
grant SELECT_CATALOG_ROLE to scott;
GRANT EXECUTE ON DBMS_APPLY_ADM TO scott;
GRANT EXECUTE ON DBMS_AQ TO scott;
GRANT EXECUTE ON DBMS_AQADM TO scott;
GRANT EXECUTE ON DBMS_CAPTURE_ADM TO scott;
GRANT EXECUTE ON DBMS_FLASHBACK TO scott;
GRANT EXECUTE ON DBMS_STREAMS_ADM TO scott;
execute dbms_aqadm.grant_system_privilege('ENQUEUE_ANY', 'scott', TRUE);
grant aq_administrator_role to scott;
grant execute on dbms_lock to scott;
grant execute on sys.dbms_aqin to scott;
grant execute on sys.dbms_aqjms to scott;
Connect to database as scott user and create AQ
connect scott/tiger@db10g
execute dbms_aqadm.stop_queue( queue_name => 'bam_ttq' );
execute dbms_aqadm.drop_queue( queue_name => 'bam_ttq');
execute DBMS_AQADM.DROP_QUEUE_TABLE (queue_table => 'bam_ttq_tab');
execute dbms_aqadm.create_queue_table( queue_table => 'bam_ttq_tab', queue_payload_type => 'sys.aq$_jms_text_message', multiple_consumers => true );
execute dbms_aqadm.create_queue( queue_name => 'bam_ttq', queue_table => 'bam_ttq_tab' );
execute dbms_aqadm.start_queue( queue_name => 'bam_ttq' );
Database Trigger setup
Run the following sql connected to database as scott user, it creates a trigger on EMP table.
create or replace trigger send_recs_Employee AFTER INSERT OR Update ON EMP
FOR each row
declare
xml_complete varchar2(8000);
v_enqueue_options dbms_aq.enqueue_options_t;
v_message_properties dbms_aq.message_properties_t;
v_msgid raw(16);
temp sys.aq$_jms_text_message;
v_recipients dbms_aq.aq$_recipient_list_t;
Begin
temp:=sys.aq$_jms_text_message.construct;
v_recipients(1) := sys.aq$_agent('istante',null,0);
v_recipients(2) := sys.aq$_agent('test',null,0);
v_message_properties.recipient_list := v_recipients;
xml_complete :=
'<?xml version="1.0"?><row>' ||
'<EMPNO>' || :new.EMPNO || '</EMPNO>' ||
'<ENAME>' || :new.ENAME || '</ENAME>' ||
'<JOB>' || :new.JOB || '</JOB>' ||
'<MGR>' || :new.MGR || '</MGR>' ||
'<HIREDATE>' || :new.HIREDATE || '</HIREDATE>' ||
'<SAL>' || :new.SAL || '</SAL>' ||
'<COMM>' || :new.COMM || '</COMM>' ||
'<DEPTNO>' || :new.DEPTNO || '</DEPTNO>' ||
'</row>' ;
temp.set_text(xml_complete);
dbms_aq.enqueue(queue_name => 'bam_ttq',
enqueue_options => v_enqueue_options,
message_properties => v_message_properties,
payload => temp,
msgid => v_msgid );
End ;
BAM Setup
Administrator - Fix the classpaths for oc4j jar files for Oracle (AS JMS and OJMS) Message source type using the OC4J_Install_location. If you are using production App Server you need to add extra classpath entry <App Server Location>\opmn\lib\optic.jar
Architect - Create a new Enterprise message source of type Oracle (AS JMS and OJMS)
Initial Context Factory: com.evermind.server.rmi.RMIInitialContextFactory
JNDI Service Provider URL: o For Standalone oc4j: ormi://machine name/
Where machine name is OC4J installed host
o For Production App Server: opmn:ormi://<machine name>:<opmn request port>:home
Where machine name is App server installed host, opmn request port could be found from looking at opmn.xml in <App server install location>/opmn/conf
TopicConnectionFactory Name: java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab
Topic Name: java:comp/resource/BAMTTT/Topics/bam_ttq
JMS Message Type: TextMessage
Durable Subscriber Name (Optional): Istante
Message Selector (Optional):
Client ID (Optional): ClientID
Name Flow name Type Max size Formatting
row. row. String 4000 (none).
Enterprise Link Design Studio create a basic plan with
o Oracle BAM Enterprise Message Receiver, selecting the message source you created in above step.
o Display sink Grid
Create file jndi.properties in C:\Program Files\Oracle BAM\j2re1.4.1_01\lib with entries
java.naming.security.principal=admin
java.naming.security.credentials=welcome1 (App server/Oc4j password)
Running
Start OC4J
To enqueue messages update or insert records in EMP table connected to database as scott user
Insert into emp values (&empno,'FORD','ANALYST',7566,sysdate,60000,3000,20);
Run update on the enterprise plan
In above sample no parsing of the data is done, its got as one single string.
OJMS setup
Configuring JMS
http://www.oracle.com/technology/books/pdfs/2352_Ch06_FINAL.pdf
Oracle® Application Server Containers for J2EE Services Guide 10g Release 2 (10.1.2) for Windows or UNIX
http://iasdocs/iasdl/101200doc/web.1012/b14012/toc.htm
Maybe you are looking for
-
Photo Stream - enabled for my iPad, but I can't click on the Photo Stream option on my Mac (which has iPhoto 9) in iCloud. Why is that?
-
Hi guys my problem is, I have a struct which has the foll component of type c(7). z_rate(7) type c. I need to download this to a text file in a way that it shows just two decimal places but doesn not condense the rest of the space. eg 11.00 nextval
-
XSL and carriage return problem
I'm using an HTML form to get the input text from the user. The text is stored in an XML file and after that I use XSL transformation to show the text as HTML file. The problem is with carriage returns that user has entered. In HTML file I see
-
HT4663 final cut pro x import question
So I have a 500gb external hard drive that is open. On another external hard drive I have about 300gb of footage. So far I have imported 80gb onto the open 500gb hard drive and it has filled it up. Am I doing something wrong on the import into Fin
-
[svn] 3105: SDK-15764, SDK-15765 -- Two long standing Ant task bugs.
Revision: 3105 Author: [email protected] Date: 2008-09-04 15:05:39 -0700 (Thu, 04 Sep 2008) Log Message: SDK-15764, SDK-15765 -- Two long standing Ant task bugs. - Ant Tasks fail when setting fork="true" and there are spaces in the path name - Settin