Newbie: standalone java AQ client

Hello.
I need to write content from the java program to the Oracle 10g queue.
I can get acquire the datasource in multiple ways (via DriverManager, Spring's dataSource support classes or from running local OCJ4 via jndi) and than do the following :
QueueConnectionFactory qc_fact = AQjmsFactory.getQueueConnectionFactory(dataSource);
QueueConnection qc_conn = qc_fact.createQueueConnection(USER, PASS);
QueueSession q_session = qc_conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
AQjmsSession jms_sess = AQjmsSession.class.cast(q_session);
Queue queue = jms_sess.getQueue(Q_USER, Q_NAME);
AQjmsProducer q_sender = (AQjmsProducer) jms_sess.createProducer(queue);
TextMessage msg = jms_sess.createTextMessage("Hello queue!");
q_sender.send(msg, DeliveryMode.PERSISTENT, 1, 600000);Also i''ve enable tracing with AQjmsOracleDebug class.
The output is always the same (this was when using oci4j jndi datatsource lookup):
main [Thu Jun 26 18:19:33 MSD 2008] AQjmsQueueConnectionFactory - constructor:  data source object: oracle.oc4j.sql.ManagedDataSource@16e1fb1
main [Thu Jun 26 18:19:33 MSD 2008] AQjmsQueueConnectionFactory.createQueueConnection:  with user/pwd
main [Thu Jun 26 18:19:33 MSD 2008] AQjmsDBConnMgr ctor (datasource):  enter
main [Thu Jun 26 18:19:33 MSD 2008] AQjmsDBConnMgr.getConnection:  Creating from datasource
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.extraInit:  enter
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.extraInit:  The connection class: oracle_jdbc_driver_LogicalConnection_Proxy
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.extraInit:  exit
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.getConnection:  generic->DB connection: oracle_jdbc_driver_LogicalConnection_Proxy@12cd19d
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.getConnection:  generic->XA connection: null
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr ctor (datasource):  exit
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsConnectionn ctor (datasource):   type: 10
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsConnection.setCompliant:  Current <compliant> is set to:false
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsQueueConnectionFactory.createQueueConnection w/username/password:  Connection created successfully
main [Thu Jun 26 18:19:44 MSD 2008] AQjmsDBConnMgr.getConnection:  get the firstConn created during the authentication
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.constructor:  dbversion=10204
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.setDBRatio:  enter
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.setRatio:  The DB csid = 171
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.setRatio:  exit
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.constructor:  enter
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.constructor:  looking up the transaction manager object in OC4J.
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.constructor: Exception: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
     at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
     at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
     at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
     at javax.naming.InitialContext.lookup(Unknown Source)
     at oracle.jms.EmulatedXAHandler.<init>(EmulatedXAHandler.java:69)
     at oracle.jms.AQjmsSession.<init>(AQjmsSession.java:364)
     at oracle.jms.AQjmsConnection.createQueueSession(AQjmsConnection.java:653)
     at QueueClient.main(QueueClient.java:86)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
     at org.apache.tools.ant.taskdefs.Java.run(Java.java:747)
     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:201)
     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:104)
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
     at org.apache.tools.ant.Task.perform(Task.java:348)
     at org.apache.tools.ant.Target.execute(Target.java:357)
     at org.apache.tools.ant.Target.performTasks(Target.java:385)
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
     at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
     at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
     at org.apache.tools.ant.Main.runBuild(Main.java:698)
     at org.apache.tools.ant.Main.startAnt(Main.java:199)
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.constructor:  Can not find the transaction manager, we are NOT running in OC4J container
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.constructor:  exit
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.inGlobalTrans:  entry
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.inGlobalTrans:  oracle.jms.useEmulatedXA is on
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.inGlobalTrans:  entry, reCheck=true
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.checkForGlobalTxn:  entry
main [Thu Jun 26 18:19:45 MSD 2008] EmulatedXAHandler.inGlobalTrans:  exit
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.inGlobalTrans:  exit
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.constructor1:  oci enabled = true
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsConnection:createQueueSession:  Created session
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.getQueue IN:   owner: INVITO, name: RAW_Q2
main [Thu Jun 26 18:19:45 MSD 2008] AQjmsSession.getQueue:  created AQOracleSession
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.getQueue:  finish AQOracleSession.getQueue()
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.getQueue EXIT: 
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.getCompliant:  Session <compliant>:false
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.createTextMessage:  return initialized text message
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.getCompliant:  Session <compliant>:false
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.send-2:  entry
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.send-main:  entry
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.send:  queue: INVITO.RAW_Q2
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.send:  dest_queue: INVITO.RAW_Q2
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.enqueue:  entry
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsSession.getCompliant:  Session <compliant>:false
main  setJMSTimestamp. timestamp: 1214489986386
main [Thu Jun 26 18:19:46 MSD 2008] AQjmsProducer.enqueue:  exitIt seems that if i want to enque messages to the queue the code MUST run in OC4J environment, isn't it?
Is there any way to enqueue a message from the simple standlone java app?

Here is some sample code that may assist you:
How To Enqueue and Dequeue a Message in Oracle 10g
     Doc ID:      Note:357250.1      Type:      HOWTO
     Last Revision Date:      20-NOV-2007      Status:      PUBLISHED
Checked for relevance on 20-11-2007
In this Document
Purpose
Software Requirements/Prerequisites
Configuring the Sample Code
Running the Sample Code
Caution
Sample Code
Sample Code Output
Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.4.0
Information in this document applies to any platform.
DATABASE 9.2.0.7
JDEVELOPER 10.1.2.1
Purpose
The sample code will enqueue and dequeue a message.
Software Requirements/Prerequisites
SQLPLUS that comes with Oracle Database 9.2.0.7
JDeveloper 10.1.2.1
JDBC Driver that comes with Oracle 10.1.2.1 (10.1.0.4.2)
JDK 1.4.2.06
AQ Api that comes with JDeveloper 10.1.2.1 (jta.jar , aqapi13.jar , jms.jar)
Configuring the Sample Code
You need to use Sqlplus to create the queue table, queue and start the queue.
You need Jdeveloper to create the JMS client that will enqueue and dequeue the message.
Steps will follow
Running the Sample Code
I- In sqlplus:
1. Run the following to grant privileges to user:
connect sys/welcome@orcl92 as sysdba
grant aq_administrator_role to scott;
grant execute on dbms_aqadm to scott;
grant execute on dbms_aq to scott;
grant execute on dbms_aqin to scott;
grant execute on dbms_aqjms to scott;
connect scott/tiger
2. Create the Queue Table and the Queue:
BEGIN
sys.dbms_aqadm.create_queue_table (
queue_table => 'POA_QUEUE_TABLE'
, queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
, sort_list => 'ENQ_TIME'
, comment => ''
, multiple_consumers => TRUE
, message_grouping => DBMS_AQADM.NONE
, compatible => '8.1'
, primary_instance => '0'
, secondary_instance => '0');
COMMIT;
END;
BEGIN
sys.dbms_aqadm.create_queue(
queue_name => 'POA_QUEUE'
, queue_table => 'POA_QUEUE_TABLE'
, queue_type => sys.dbms_aqadm.NORMAL_QUEUE
, max_retries => '5'
, retry_delay => '0'
, retention_time => '0'
, comment => '');
END;
BEGIN
sys.dbms_aqadm.start_queue(
queue_name => 'POA_QUEUE'
, enqueue => TRUE
, dequeue => TRUE);
END;
begin DBMS_AQADM.ADD_SUBSCRIBER
('POA_QUEUE'
, SYS.AQ$_AGENT('POA_SUBSCRIPTION'
, NULL
, NULL));
end;
Caution
This script is provided for educational purposes only and not supported by Oracle Support Services. It has been tested internally, however, and works as documented. We do not guarantee that it will work for you, so be sure to test it in your environment before relying on it.
Proofread this sample code before using it! Due to the differences in the way text editors, e-mail packages and operating systems handle text formatting (spaces, tabs and carriage returns), this sample code may not be in an executable state when you first receive it. Check over the sample code to ensure that errors of this type are corrected.
Sample Code
II- In JDeveloper 10.1.2.1
1. Create a workspace with a project.
2. Create DBSession.java which will have the following code:
package mypackage1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.jms.JMSException;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.jms.TopicSubscriber;
import oracle.AQ.AQDequeueOption;
import oracle.AQ.AQDriverManager;
import oracle.AQ.AQEnqueueOption;
import oracle.AQ.AQException;
import oracle.AQ.AQMessage;
import oracle.AQ.AQObjectPayload;
import oracle.AQ.AQOracleQueue;
import oracle.AQ.AQOracleSession;
import oracle.AQ.AQQueue;
import oracle.AQ.AQRawPayload;
import oracle.AQ.AQSession;
import oracle.jms.AQjmsSession;
import oracle.jms.AQjmsTopicConnectionFactory;
public class DBSession {
public static Connection db_conn;
public static AQSession createSession(String args[]) {
AQSession aq_sess = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
// replace with specific host:port:databasename
db_conn = DriverManager.getConnection("jdbc:oracle:thin:@dbhost:1521:orcl92","scott","tiger");
System.out.println("JDBC Connection opened ");
db_conn.setAutoCommit(false);
Class.forName("oracle.AQ.AQOracleDriver");
// Create AQ Session.
aq_sess = AQDriverManager.createAQSession(db_conn);
System.out.println("Successfully created AQSession ");
} catch (Exception ex) {
System.out.println("Exception: " + ex);
ex.printStackTrace();
return aq_sess;
public static void AQObjectPayloadTest(AQSession aq_sess)
throws AQException, SQLException, ClassNotFoundException, JMSException
//Used for standard AQ
AQQueue queue = null;
AQMessage message = null;
AQRawPayload payload = null;
AQEnqueueOption eq_option = null;
AQDequeueOption dq_option = null;
//Used for subscription and topic based queues.
Topic inqueueTopic, outqueueTopic;
TopicConnection topicConnection;
TopicSession session;
TextMessage out = null;
TopicSubscriber subscriber;
TextMessage textMessage;
TopicPublisher publisher;
// Configure for specific host, Database, port, etc..
String hostname = "DBhostname";
String database = "orcl92";
String user = "scott";
String password = "tiger";
String schema = "scott";
String inqueue = "POA_QUEUE";
String outqueue = "POA_QUEUE";
String subscription = "POA_SUBSCRIPTION";
String port = "1521";
// JMS Dequeue implementation.
// Create a topic session and connection..
topicConnection = AQjmsTopicConnectionFactory.createTopicConnection(db_conn);
session = topicConnection.createTopicSession(true, 0);
topicConnection.start();
inqueueTopic = ((AQjmsSession)session).getTopic(schema, inqueue);
outqueueTopic = ((AQjmsSession)session).getTopic(schema, outqueue);
// Enqueue a test message
textMessage = session.createTextMessage();
textMessage.setJMSCorrelationID("POA_QUEUE");
textMessage.setText("Test Message!!!");
publisher = session.createPublisher(outqueueTopic);
publisher.publish(textMessage);
publisher.close();
session.commit();
// Dequeue the same message
inqueueTopic = ((AQjmsSession)session).getTopic(schema, inqueue);
outqueueTopic = ((AQjmsSession)session).getTopic(schema, outqueue);
subscriber = session.createDurableSubscriber(inqueueTopic,subscription);
out = (TextMessage)subscriber.receive(0);
System.out.println("Message retrieved: " + out.getText());
db_conn.commit();
You need to modify the hostname, port, sid according to your environment.
3. Create AQTest.java:
package mypackage1;
import java.sql.SQLException;
import javax.jms.JMSException;
import oracle.AQ.AQException;
import oracle.AQ.AQSession;
public class AQTest {
public static void main(String[] args)
AQTest test = new AQTest();
test.start();
private void start() {
//create session
AQSession session = DBSession.createSession(null);
//create queue
try {
DBSession.AQObjectPayloadTest(session);
} catch (AQException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
catch (JMSException jmse) {
jmse.printStackTrace(); }
4. Compile and run AQTest.java. You will get the following output:
Sample Code Output
JDBC Connection opened
Successfully created AQSession
Message retrieved: Test Message!!!
Process exited with exit code 0.

Similar Messages

  • Standalone java as client java proxy with xi

    hi,
    i am coming from ABAPer, i have read inside story part 1 and 2, this seems J2EE Application.
    i am not clear on standalone java as client java proxy with xi.
    i have ClassProxy.zip generated by IR and some aii_***.jar.
    could you tell me what the step by step is?
    any helpful comments will be apprecidated.
    thanks
    venjamin

    hi
    good
    go through these links, i hope these will help you to solve your problem.
    http://help.sap.com/saphelp_srm30/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/d4/d12940cbf2195de10000000a1550b0/content.htm
    http://www.seeburger.com/fileadmin/com/pdf/SAP_Exchange_Infrastructure_Integratio_Strategy.pdf
    thanks
    mrutyun

  • Client java proxy as standalone java

    hi,
    i am coming from ABAPer, i have read inside story part 1 and 2, this seems J2EE Application.
    i am not clear on standalone java as client java proxy with xi.
    i have ClassProxy.zip generated by IR and some aii_***.jar.
    could you tell me what the step by step is?
    any helpful comments will be apprecidated.
    thanks
    venjamin

    Hi Venjamin,
    I thought I will give u a few links which might help you….
    First go through these articles……
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    For java server proxies...go through the following blogs….
    /people/rashmi.ramalingam2/blog/2005/06/25/an-illustration-of-java-server-proxy
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    Java Proxy Inside Story Part I
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java%20proxies%20and%20sap%20xi%20-%20the%20inside%20story,%20Part%201.pdf
    Java Proxy Inside Story Part II
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java%20proxies%20and%20sap%20xi%20-%20the%20inside%20story,%20Part%20II.pdf
    Here you can download code samples for inbound and outbound Java Proxies which you can use together with the Flight Booking Scenario.
    http://de.geocities.com/stefan_grube/JavaProxyExample.zip
    I hope it helps.
    Regards,
    Abhy

  • How to use standalone java client with an enterprise bean in J2EE 1.4

    Hi All,
    I am have deployed a stateless session bean in Sun's J2EE 1.4 Application Server. i am trying to call the bean using a standalone java client. but the client cannot access the bean.
    The error coming is:
    Jan 21, 2004 7:48:27 PM com.sun.corba.ee.impl.legacy.connection.SocketFactoryCo
    nectionImpl <init>
    WARNING: ORBUTIL.connectFailure
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(
    RBUtilSystemException.java:1739)
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(
    RBUtilSystemException.java:1757)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.
    init>(SocketFactoryConnectionImpl.java:74)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl
    createConnection(SocketFactoryContactInfoImpl.java:88)
    at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.begi
    Request(CorbaClientRequestDispatcherImpl.java:146)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(Corba
    lientDelegateImpl.java:121)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaCli
    ntDelegateImpl.java:212)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.jav
    :69)
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.ja
    a:58)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:12
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at StatelessSessionClient.main(StatelessSessionClient.java:17)
    Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection re
    used: connect
    at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSoc
    etFactory.java:390)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.
    init>(SocketFactoryConnectionImpl.java:58)
    ... 10 more
    Caused by: java.net.ConnectException: Connection refused: connect
    at sun.nio.ch.Net.connect(Native Method)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:457)
    at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
    at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSoc
    etFactory.java:381)
    ... 11 more
    javax.naming.CommunicationException: Can't find SerialContextProvider
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.ja
    a:66)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:12
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at StatelessSessionClient.main(StatelessSessionClient.java:17)
    Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed
    No
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(
    RBUtilSystemException.java:1739)
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(
    RBUtilSystemException.java:1757)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.
    init>(SocketFactoryConnectionImpl.java:74)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl
    createConnection(SocketFactoryContactInfoImpl.java:88)
    at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.begi
    Request(CorbaClientRequestDispatcherImpl.java:146)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(Corba
    lientDelegateImpl.java:121)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaCli
    ntDelegateImpl.java:212)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.jav
    :69)
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.ja
    a:58)
    ... 3 more
    Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection re
    used: connect
    at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSoc
    etFactory.java:390)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.
    init>(SocketFactoryConnectionImpl.java:58)
    ... 10 more
    Caused by: java.net.ConnectException: Connection refused: connect
    at sun.nio.ch.Net.connect(Native Method)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:457)
    at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
    at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSoc
    etFactory.java:381)
    ... 11 more
    My java client uses the following code to access the bean:
    Hashtable props = new Hashtable();
    String URL="iiop://localhost:3700";
    props.put("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    props.put("java.naming.provider.url", URL) ;
    InitialContext ctx = new InitialContext();
    Object ref = ctx.lookup("ejb/StatelessSessionHome");
    StatelessSessionHome home = (StatelessSessionHome)PortableRemoteObject.narrow(ref,StatelessSessionHome.class);
    StatelessSessionRemote statelessSession = home.create();
    plz help me to locate the error.
    Regards,
    Mohit

    Hi Amol,
    thanks for your suggestion.
    i have deployed the converter application in J2EE1.4 tutorial in Sun AppServer J2EE1.4. the deployment process works smoothly. but accessing the deployed converter bean using standalone client as given in the tutorial gives the following error.
    Caught an unexpected exception!
    javax.naming.NoInitialContextException: Need to specify class name in environmen
    t or system property, or as an applet parameter, or in an application resource f
    ile: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    40)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.jav
    a:280)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at ConverterClient.main(ConverterClient.java:14)
    I have set the InitialHost and InitialPort as suggested by you in the client code. the client gets successfully compiled but gives error when executed.
    The client code is:
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    import java.math.BigDecimal;
    public class ConverterClient {
    public static void main(String[] args) {
    System.setProperty("org.omg.CORBA.ORBInitialHost","localhost");
    System.setProperty("org.omg.CORBA.ORBInitialPort","3700");          
    try {
    Context initial = new InitialContext();
    Object objref = initial.lookup
    ("java:comp/env/ejb/SimpleConverter");
    ConverterHome home =
    (ConverterHome)PortableRemoteObject.narrow(objref,
    ConverterHome.class);
    Converter currencyConverter = home.create();
    BigDecimal param = new BigDecimal ("100.00");
    BigDecimal amount =
    currencyConverter.dollarToYen(param);
    System.out.println(amount);
    amount = currencyConverter.yenToEuro(param);
    System.out.println(amount);
    System.exit(0);
    } catch (Exception ex) {
    System.err.println("Caught an unexpected exception!");
    ex.printStackTrace();
    Please suggest so that i can run the standalone client successfully.
    Regards,
    Mohit Kapoor

  • How to insert message in OC4J JMS from standalone java client.

    Hi,
    I have been following available examples for creating standalone java clients to insert messages in JMS queues.
    I am able to insert using java client when the SOA suite and the standalone java code are on same machine.
    package producerconsumerinjava;
    import javax.jms.*;
    import javax.naming.*;
    import java.util.Hashtable;
    public class QueueProducer
    public static void main(String[] args)
    String queueName = "jms/demoQueue";
    String queueConnectionFactoryName = "jms/QueueConnectionFactory";
    Context jndiContext = null;
    QueueConnectionFactory queueConnectionFactory = null;
    QueueConnection queueConnection = null;
    QueueSession queueSession = null;
    Queue queue = null;
    QueueSender queueSender = null;
    TextMessage message = null;
    int noMessages = 5;
    * Set the environment for a connection to the OC4J instance
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    env.put(Context.SECURITY_CREDENTIALS, "mypass");
    env.put(Context.PROVIDER_URL,"ormi://myserver.company.com:12402"); //12402 is the rmi port
    * Set the Context Object.
    * Lookup the Queue Connection Factory.
    * Lookup the JMS Destination.
    try
    jndiContext = new InitialContext(env);
    queueConnectionFactory =
    (QueueConnectionFactory) jndiContext.lookup(queueConnectionFactoryName);
    queue = (Queue) jndiContext.lookup(queueName);
    catch (NamingException e)
    System.out.println("JNDI lookup failed: " + e.toString());
    System.exit(1);
    * Create connection.
    * Create session from connection.
    * Create sender.
    * Create text message.
    * Send messages.
    * Send non text message to end text messages.
    * Close connection.
    try
    queueConnection = queueConnectionFactory.createQueueConnection();
    queueSession =
    queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    queueSender = queueSession.createSender(queue);
    message = queueSession.createTextMessage();
    for (int i = 0; i < noMessages; i++)
    message.setText("Message " + (i + 1));
    System.out.println("Producing message: " + message.getText());
    queueSender.send(message);
    queueSender.send(queueSession.createBytesMessage());
    catch (JMSException e)
    System.out.println("Exception occurred: " + e.toString());
    finally
    if (queueConnection != null)
    try
    queueConnection.close();
    catch (JMSException e)
    System.out.println("Closing error: " + e.toString());
    But when the SOA Suite is remote, I am struggling to get the settings correct
    Till now, here is what I have figured out from looking at blogs/tars etc on the Net:
    1. I need to use ApplicationClientInitialContextFactory instead of RMIInitialContextFactory (http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/jndi.htm)
    2. The project should have a META-INF/application-client.xml file, which may be dummy (http://www.wever.org/java/space/Oracle/JmsTar1). Question is, my code is there in a single absolutely standalone code..how I can use this application-client.xml and where it has to be placed.
    Errors:
    When trying to run exact same code on local server that tries to enqueue JMS on remotee serverer
    Exception occurred: javax.jms.JMSException: Unable to create a connection to "xxxxxxx.yyyyyy01.dev.com/10.42.456.11:12,602" as user "null".
    Any help is greatly welcome.
    As an exercise, I copied this complete code on the server and then ran locally using a telnet client...it worked. So the problem is coming when accessing the server remotely.
    Rgds,
    Amit

    1. I need to use ApplicationClientInitialContextFactory instead of RMIInitialContextFactoryNot necessarily.
    2. The project should have a META-INF/application-client.xml fileThat's only necessary if going the ApplicationClientInitialContextFactory route.
    There are two types of JMS client applications you can write -- a pure/plain Java app, and an "AppClient". That first is your everyday run-of-the-mill Java application, nothing special. That latter is a special, complicated beast that tries to act as a part of the whole client/server/J2EE architecture which provides you with a semi-managed environment. Either can be made to work, but if all you need is JMS access (using plain OC4J JMS factory/queue names and not JMS Connector names), then the first is easier to get working (and performs a tiny bit better as well due to being a lighter-weight solution).
    I think the problem you are having might be: When you use the plain Java client solution, you do not have any type of management, and that includes user management. With no user management (and if the JMS server is not configured to allow anonymous connections) you need to include the username and password in the call to createConnection. (I think it may be that this is actually true in the AppClient case as well -- I avoid using the AppClient model as much as possible so my memory there is weaker.)
    If you prefer to go the AppClient route, I would point you to a demo I wrote which had a functioning example, but Oracle seems to have removed it (and all of the 10.1.3 demos?) from OTN. :-(
    Hmm, it seems to still be available on the wayback machine:
    http://web.archive.org/web/20061021064014/www.oracle.com/technology/tech/java/oc4j/1013/how_to/index.html
    (Just look down the page for "With OEMS JMS (In-Memory and File-Based)" -- there is an .html document with info, and there is a .zip file with source code.)
    Question is, my code is there in a single absolutely standalone code..how I can use this application-client.xml and where it has to be placed.The app client in my demo had the following directory structure:
    myjavaclient.class
    jndi.properties
    META-INF\MANIFEST.MF
    META-INF\application-client.xml
    META-INF\orion-application-client.xml
    When you use ApplicationClientInitialContextFactory I think it just looks under .\META-INF for the .xml files.
    -Jeff

  • Error in oim Role creation using Role Manager Service API from Standalone Java client

    Hi,
      Facing the following error when trying to create Role using Role Manager Service API from a standalone java client .
    Tried with the solution of changing ,
    Login into the Web Logic Admin Console --> Servers --> OIM Server --> Protocols --> Modify the Maximum Message from 100000000 to 1000000000, but still the problem persists.
    Exception in thread "main" org.omg.CORBA.BAD_PARAM:   vmcid: 0x0  minor code: 0  completed: No
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown Source)
    at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
    at com.sun.org.omg.SendingContext._CodeBaseStub.meta(Unknown Source)
    at com.sun.corba.se.impl.encoding.CachedCodeBase.meta(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.getOrderedDescriptions(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectUsingFVD(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(Unknown Source)
    at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)
    at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)
    at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)
    at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)
    at oracle.iam.identity.rolemgmt.api._RoleManager_ogut7n_RoleManagerRemoteRIntf_Stub.createx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
    at $Proxy2.createx(Unknown Source)
    at oracle.iam.identity.rolemgmt.api.RoleManagerDelegate.create(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.subject.SubjectProxy.doAs(SubjectProxy.java:64)
    at weblogic.security.subject.SubjectManager.runAs(SubjectManager.java:262)
    at weblogic.security.Security.runAs(Security.java:48)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at $Proxy3.create(Unknown Source)
    at com.idm.role.CreateRole.createRole(CreateRole.java:113)
    at com.idm.role.CreateRole.main(CreateRole.java:167)
    Thanks In Advance

    Hi , I have used OIM 11g  R2.
    Please find below the code we have used,
    package com.idm.role;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.logging.Logger;
    import javax.security.auth.login.LoginException;
    import oracle.iam.identity.exception.NoSuchRoleException;
    import oracle.iam.identity.exception.RoleAlreadyExistsException;
    import oracle.iam.identity.exception.RoleCreateException;
    import oracle.iam.identity.exception.RoleLookupException;
    import oracle.iam.identity.exception.RoleModifyException;
    import oracle.iam.identity.exception.SearchKeyNotUniqueException;
    import oracle.iam.identity.exception.ValidationFailedException;
    import oracle.iam.identity.rolemgmt.api.RoleManager;
    import oracle.iam.identity.rolemgmt.api.RoleManagerConstants;
    import oracle.iam.identity.rolemgmt.vo.Role;
    import oracle.iam.platform.OIMClient;
    import oracle.iam.platform.authz.exception.AccessDeniedException;
    public class CreateRole {
    private final static Logger LOGGER = Logger.getLogger(CreateRole.class .getName());
    OIMClient oimClient = null;
    public OIMClient connectToOIM() {
      LOGGER.info("In connectToOIM ");
      Hashtable env = new Hashtable();
      env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL,
        "weblogic.jndi.WLInitialContextFactory");
      env.put(OIMClient.JAVA_NAMING_PROVIDER_URL,
        "t3://V-hydidm1.itig.co.in:14000");
      System.setProperty("java.security.auth.login.config",
        "F:\\Projects\\IDM\\Team\\Env_setup\\OIM_Setup\\designconsole\\config\\authwl.conf");
      System.setProperty("java.security.policy",
        "F:\\Projects\\IDM\\Team\\Env_setup\\OIM_Setup\\designconsole\\config\\xl.policy");
      System.setProperty("OIM.AppServerType", "wls");
      System.setProperty("APPSERVER_TYPE", "wls");
      System.setProperty("weblogic.Name", "oim_server1");
      oimClient = new OIMClient(env);
      try {
       oimClient.login("xelsysadm", "Passw0rd".toCharArray());
      } catch (LoginException e) {
       e.printStackTrace();
      System.out.println("Connected");
      return oimClient;
    public void readRoleMetadata() {
      LOGGER.info("in readRoleMetadata ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      try {
       Role roleVo = roleManagerService.getDetails(
         RoleManagerConstants.ROLE_DISPLAY_NAME, "API Role1", null);
       Set attributeNameSet = roleVo.getAttributeNames();
       Iterator it = attributeNameSet.iterator();
       while (it.hasNext()) {
        System.out.println("Attribute Name :: " + it.next());
       // roleVo.setAttribute("ADentitlements", "Security Admin access");
       String adEntitlements = "" + roleVo.getAttribute("ADentitlements");
       System.out.println("AD Entitlements :: " + adEntitlements);
       System.out.println("DB Entitlements :: " + ""
         + roleVo.getAttribute("DBEntitlements"));
       System.out.println("Unix Entitlements :: " + ""
         + roleVo.getAttribute("UnixWindows"));
       System.out.println("VPN :: " + "" + roleVo.getAttribute("VPN"));
      } catch (SearchKeyNotUniqueException e) {
       e.printStackTrace();
      } catch (NoSuchRoleException e) {
       e.printStackTrace();
      } catch (RoleLookupException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
    public void createRole() {
      LOGGER.info(" in Create role ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      HashMap<String, Object> roleCreationAttrMap = new HashMap<String, Object>();
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_NAME, "API Role1");
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_DESCRIPTION,
        "This Role is created using API Role1");
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_DISPLAY_NAME,
        "API Role1");
      roleCreationAttrMap.put("ADentitlements", "API Role1 AD Entitlements");
      roleCreationAttrMap.put("DBEntitlements", "API Role1 DB Entitlements");
      roleCreationAttrMap.put("VPN", "No");
      roleCreationAttrMap.put("UnixWindows", "API Role1 Unix Entitlements");
      Role roleVo = new Role(roleCreationAttrMap);
      try {
       System.out.println(" Before Create role *********************************************");
       roleManagerService.create(roleVo);
       System.out.println("Role Created .. ");
      } catch (ValidationFailedException e) {
       e.printStackTrace();
      } catch (RoleAlreadyExistsException e) {
       e.printStackTrace();
      } catch (RoleCreateException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
    public void modifyRole() {
      LOGGER.info(" in modifyRole ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      Role roleVo;
      try {
       roleVo = roleManagerService.getDetails(
         RoleManagerConstants.ROLE_DISPLAY_NAME, "API Role1", null);
       String roleKey = roleVo.getEntityId();
       HashMap<String, Object> roleCreationAttrMap = new HashMap<String, Object>();
       roleCreationAttrMap.put("ADentitlements",
         "Updated API Role1 AD Entitlements");
       Set roleKeySet = new HashSet<String>();
       roleKeySet.add(roleKey);
       Role roleVoNew = new Role(roleCreationAttrMap);
       roleManagerService.modify(roleKeySet, roleVoNew);
       System.out.println("Role Modified ..");
      } catch (SearchKeyNotUniqueException e) {
       e.printStackTrace();
      } catch (NoSuchRoleException e) {
       e.printStackTrace();
      } catch (RoleLookupException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
      } catch (ValidationFailedException e) {
       e.printStackTrace();
      } catch (RoleModifyException e) {
       e.printStackTrace();
    public static void main(String args[]) {
      CreateRole miscObj = new CreateRole();
      miscObj.connectToOIM();
      miscObj.createRole();
      //miscObj.readRoleMetadata();
    Thanks In Advance .

  • Problem in accessing the Web Service using standalone Java Client

    Dear Friends,
    Hi,
    I have an active web service and I have tested the same with XML Spy and Apache Axis and is giving me the output perfectly. For the same, I have developed a standalone Java client but getting problem in fetching the output.
    The Exception is :
    <Jan 4, 2006 5:54:16 PM GMT+05:30> <Info> <WebService> <BEA-220025> <Handler weblogic.webservice.core.handler.ClientHandler threw
    an exception from its handleResponse method.
    The exception was:
    javax.xml.rpc.JAXRPCException: java.io.IOException: Received a response from url: http://10.20.15.59:18004/amountToWords which did
    not have a valid SOAP content-type: text/html;charset=ISO-8859-1. .>
    SOAP Fault **************** Exception during processing: java.io.IOException: Received a response from url: http://10.20.15.59:18
    004/amountToWords which did not have a valid SOAP content-type: text/html;charset=ISO-8859-1.
    (see Fault Detail for stacktrace)
    javax.xml.rpc.soap.SOAPFaultException: Exception during processing: java.io.IOException: Received a response from url: http://10.2
    0.15.59:18004/amountToWords which did not have a valid SOAP content-type: text/html;charset=ISO-8859-1.
    (see Fault Detail for sta
    cktrace)
    at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:313)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:566)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:419)
    at HelloClient.main(HelloClient.java:100)
    I have tried some ways to set the content type explicitly but the results are same(throwing an exception).
    I appreciate you all for helping me out of this.
    Thanks
    VR

    Hi Amit
    We also have this issue with weblogic webservices. Did you get any resolution for this issue.
    When the service is executed for lesser number of hits, all the responses are processed properly. But as load (Number of hits for the same service) increases, few responses are failed to be parsed in the web service client. We could confirm that the producer responds with proper content type (text/xml)
    Any help or pointers will be greatly appreciated.
    Thanks,
    Finny

  • Trying SAML sender-vouches, standalone Java client call to service bus.

    I've built a standalone Java client using Jax-ws. It produces a wsse header containing both a SAMLAttribute and an optional SAMLAuthentication statement.
    I've tried to configure a proxy service on the servicebus (10gR3) using ws-policy (weblogic version, not ws-1.2), configured a SAMLIdentityAsserter (v2), an identity provider partner and a SAMLIdentityNameMapper.
    I get the message weblogic.xml.crypto.wss.SecurityTokenValidateResult@ca32f2[status: false][msg The SAML token is not valid.]
    when sending SAML assertions which looks valid to me.
    If you see something missing or invalid in the SAML, something missing in the configuration or something else, I would be really glad.
    All examples are using a SAMLCredentialmapper, but I'm building a standalone client, so a weblogic SAMLCredentialMapper is out of the question (?).
    request header:
    <S:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" S:mustUnderstand="1">
    <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:exc14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:xs="http://www.w3.org/2001/XMLSchema" AssertionID="1246342701761" IssueInstant="2009-06-30T06:18:21.683Z" Issuer="http://openuri.org/service/customer/contact/contactInformationService" MajorVersion="1" MinorVersion="1">
    <saml:Conditions NotBefore="2009-06-30T06:17:21.683Z" NotOnOrAfter="2009-06-30T07:18:21.683Z"/>
    <saml:AuthenticationStatement AuthenticationInstant="2009-06-30T06:18:21.683Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:unspecified">
    <saml:Subject>
    <saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" NameQualifier="sb1sk">uid=vsb,ou=smn</saml:NameIdentifier>
    <saml:SubjectConfirmation>
    <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
    </saml:SubjectConfirmation>
    </saml:Subject>
    </saml:AuthenticationStatement>
    </saml:Assertion>
    </wsse:Security>
    response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <faultcode>wsse:InvalidSecurityToken</faultcode>
    <faultstring>Security token failed to validate. weblogic.xml.crypto.wss.SecurityTokenValidateResult@1061c5e[status: false][msg The SAML token is not valid.]</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    If the client leaves out the wsse:security element in the header, the service complains
    <faultstring>No Security header in message but required by policy.</faultstring>
    The SAMLIdentity name mapper is never loaded at all (checked by logging at class loading)
    The configuration in the Identity provider partner:
    audience uri: target:*:/
    issuer uri: /service/customer/contact/contactInformationService (also tried with a unique string equal to what the client sends)
    virtual user: enabled
    confirmation method: sender-vouches
    I am not using any certificates (tryed both with and without)
    Policy in use for the proxy service:
    <?xml version="1.0"?>
    <wsp:Policy
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    xmlns:wssp="http://www.bea.com/wls90/security/policy"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
    wsu:Id="samlSV"
    >
    <wssp:Identity>
    <wssp:SupportedTokens>
    <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID">
    <wssp:Claims>
    <wssp:ConfirmationMethod>sender-vouches</wssp:ConfirmationMethod>
    </wssp:Claims>
    </wssp:SecurityToken>
    </wssp:SupportedTokens>
    </wssp:Identity>
    </wsp:Policy>
    Stacktrace:
    weblogic.xml.crypto.wss.WSSecurityException: Security token failed to validate. weblogic.xml.crypto.wss.SecurityTokenVal
    idateResult@a4fc20[status: false][msg The SAML token is not valid.]
    at weblogic.xml.crypto.wss.SecurityImpl.unmarshalAndProcessSecurityToken(SecurityImpl.java:630)
    at weblogic.xml.crypto.wss.SecurityImpl.unmarshalChildren(SecurityImpl.java:556)
    at weblogic.xml.crypto.wss.SecurityImpl.unmarshalInternal(SecurityImpl.java:448)
    at weblogic.xml.crypto.wss.SecurityImpl.unmarshal(SecurityImpl.java:416)
    at weblogic.xml.crypto.wss.api.WSSecurityFactory.unmarshalAndProcessSecurity(WSSecurityFactory.java:66)
    at weblogic.wsee.security.WssServerHandler.processRequest(WssServerHandler.java:35)
    at weblogic.wsee.security.WssHandler.handleRequest(WssHandler.java:74)
    at com.bea.wli.sb.security.wss.WssInboundHandler.processRequest(WssInboundHandler.java:116)
    at com.bea.wli.sb.security.wss.WssHandlerImpl.doInboundRequest(WssHandlerImpl.java:201)
    at com.bea.wli.sb.context.BindingLayerImpl.addRequest(BindingLayerImpl.java:257)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:66)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    Edited by: user6080617 on Jun 29, 2009 11:39 PM

    Thank you for the tip. I've tried it, the result is below. It suspect something missing in my configuration, but I do not know what.
    <WSEE:17>Class of cred is: class weblogic.xml.saaj.SOAPElementImpl<SAMLCredentialImpl.<init>:85>
    <WSEE:17>Instantiating SAMLAssertionInfoFactory<SAMLCredentialImpl.<init>:87>
    <WSEE:17>Getting SAMLAssertionInfo from DOM Element<SAMLCredentialImpl.<init>:97>
    <WSEE:17>Got SAMLAssertionInfo<SAMLCredentialImpl.<init>:117>
    <WSEE:17>Assertion ID: 1246358297862<SAMLCredentialImpl.verbose:69>
    <WSEE:17>Assertion CM: urn:oasis:names:tc:SAML:1.0:cm:sender-vouches<SAMLCredentialImpl.verbose:70>
    <WSEE:17>Assertion Subject: uid=vsb,ou=smn<SAMLCredentialImpl.verbose:71>
    <WSEE:17>Assertion Version: 1.1<SAMLCredentialImpl.verbose:72>
    <WSEE:17>Attempting assertIdentity<CSSUtils.assertIdentity:310>
    <WSEE:17>SAML_TARGET_RESOURCE is: /service/customer/contact/contactInformationService<CSSUtils.assertIdentity:312>
    <WSEE:17>Got Principal Authenticator<CSSUtils.assertIdentity:314>
    <WSEE:17>Cred type is: SAML.Assertion.DOM, Node: [saml:Assertion: null]<CSSUtils.assertIdentity:320>
    <WSEE:17>Exception while asserting identity: javax.security.auth.login.LoginException: [Security:090377]Identity Assertion Failed, weblogic.security.spi.IdentityAssertionException: [Security:090380]Identity Assertion Failed, Unsupported Token Type: SAML.Assertion.DOM<CSSUtils.assertIdentity:325>
    <WSEE:17>javax.security.auth.login.LoginException: [Security:090377]Identity Assertion Failed, weblogic.security.spi.IdentityAssertionException: [Security:090380]Identity Assertion Failed, Unsupported Token Type: SAML.Assertion.DOM<CSSUtils.assertIdentity:326>

  • Problem consuming web service created by ABAP via standalone java client

    I'm trying to consume web service created by ABAP in R3 system via standalone java client. I should be getting a string reply after consumed the web service (ZSMS_INBOUND), but so far i received null. I cant find any exception or log to trace the problem. Any help would be appreciated. Is there anything wrong with my client calling the web service?
    public void myMethod{
              // TODO : Implement
              try{
                   Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
                   stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-               client=100&wsdl=1.1&mode=sap_wsdl");
                   inboundService = (ZSMS_INBOUND) stub;
                   BAPIRET2 str = inboundService.ZSMS_INBOUND(date, message, modemId, smsId, tel, time);
                   ackDeliveryArray<i> = str.toString();
              }catch (Exception e) {
                   e.printStackTrace();
    Generated following SAP help standalone proxy creation steps.
    ***files fr SEIs
    ZSMS_INBOUND.java   (interface)
    ZSMS_INBOUNDService.java  (interface)
    ZSMS_INBOUNDServiceImpl.java
    ZSMS_INBOUNDSoapBindingStub.java
    ***files fr Proxy classes
    ZSMS_INBOUND.java
    ZSMS_INBOUNDResponse.java
    BAPIRET2.java
    .... many more files
    the wsdl is as below (generated by ABAP):
    <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:n0="http://www.sap.com/webas/630/soap/features/authentication/" xmlns:sap="http://www.sap.com/webas/630/wsdl/features" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions" elementFormDefault="unqualified" attributeFormDefault="qualified">
    - <xsd:simpleType name="char1">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="1" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char10">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char17">
    + <xsd:restriction base="xsd:string">
      <xsd:maxLength value="17" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char170">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="170" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char20">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="20" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char220">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="220" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char30">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char32">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="32" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char50">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="date">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      <xsd:pattern value="\d\d\d\d-\d\d-\d\d" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric3">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric6">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="6" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="time">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="8" />
      <xsd:pattern value="\d\d:\d\d:\d\d" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:complexType name="BAPIRET2">
    - <xsd:sequence>
      <xsd:element name="TYPE" type="tns:char1" />
      <xsd:element name="ID" type="tns:char20" />
      <xsd:element name="NUMBER" type="tns:numeric3" />
      <xsd:element name="MESSAGE" type="tns:char220" />
      <xsd:element name="LOG_NO" type="tns:char20" />
      <xsd:element name="LOG_MSG_NO" type="tns:numeric6" />
      <xsd:element name="MESSAGE_V1" type="tns:char50" />
      <xsd:element name="MESSAGE_V2" type="tns:char50" />
      <xsd:element name="MESSAGE_V3" type="tns:char50" />
      <xsd:element name="MESSAGE_V4" type="tns:char50" />
      <xsd:element name="PARAMETER" type="tns:char32" />
      <xsd:element name="ROW" type="xsd:int" />
      <xsd:element name="FIELD" type="tns:char30" />
      <xsd:element name="SYSTEM" type="tns:char10" />
      </xsd:sequence>
      </xsd:complexType>
    - <xsd:element name="ZSMS_INBOUND">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="DATE" type="tns:date" />
      <xsd:element name="MESSAGE" type="tns:char170" />
      <xsd:element name="MODEMID" type="tns:char10" />
      <xsd:element name="SMSID" type="tns:char17" />
      <xsd:element name="TEL" type="tns:char20" />
      <xsd:element name="TIME" type="tns:time" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="ZSMS_INBOUNDResponse">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="RETURN" type="tns:BAPIRET2" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      </xsd:schema>
      </wsdl:types>
    - <wsdl:message name="ZSMS_INBOUND">
      <wsdl:part name="parameters" element="tns:ZSMS_INBOUND" />
      </wsdl:message>
    - <wsdl:message name="ZSMS_INBOUNDResponse">
      <wsdl:part name="parameters" element="tns:ZSMS_INBOUNDResponse" />
      </wsdl:message>
    - <sap:Feature name="design_0" uri="http://www.sap.com/webas/630/soap/features/authentication/">
    - <sap:Property qname="n0:AuthenticationLevel">
      <sap:Option value="n0:None" />
      </sap:Property>
      </sap:Feature>
    - <wsdl:portType name="ZSMS_INBOUND">
      <sap:useFeature feature="tns:design_0" />
    - <wsdl:operation name="ZSMS_INBOUND">
      <wsdl:input message="tns:ZSMS_INBOUND" />
      <wsdl:output message="tns:ZSMS_INBOUNDResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="ZSMS_INBOUNDSoapBinding" type="tns:ZSMS_INBOUND">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="ZSMS_INBOUND">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="ZSMS_INBOUNDService">
    - <wsdl:port name="ZSMS_INBOUNDSoapBinding" binding="tns:ZSMS_INBOUNDSoapBinding">
      <soap:address location="http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

    I'm now able to consume the web service, but with the error as below:
    Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
    Error Message is :com/sap/guid/GUIDGeneratorFactory
    BAPIRET2 mappingInfo:
      TYPE   TYPE   false   false   11
      ID   ID   false   false   11
      NUMBER   NUMBER   false   false   11
      MESSAGE   MESSAGE   false   false   11
      LOG_NO   LOG_NO   false   false   11
      LOG_MSG_NO   LOG_MSG_NO   false   false   11
      MESSAGE_V1   MESSAGE_V1   false   false   11
      MESSAGE_V2   MESSAGE_V2   false   false   11
      MESSAGE_V3   MESSAGE_V3   false   false   11
      MESSAGE_V4   MESSAGE_V4   false   false   11
      PARAMETER   PARAMETER   false   false   11
      ROW   ROW   false   false   11
      FIELD   FIELD   false   false   11
      SYSTEM   SYSTEM   false   false   11
    My java code is :
    public class MyTest {
         public static void main(String[] args){
              try{
                             Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
                             stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100");
                             ZSMS_INBOUND inboundService = (ZSMS_INBOUND) stub;
                             BAPIRET2 str = inboundService.ZSMS_INBOUND(param1,param2,param3,param4,param5,param6);
                             System.out.println(str.toString());
                             }catch (Exception e) {
                                  e.printStackTrace();

  • SPNEGO in WLS with standalone java client

    Hello All,
    Do WLS support SSO with SPNEGO using standalone java client?
    /Ed

    ok I found the answer.
    You can use either MS IE or WebServies...but not standalone java client.
    /Ed

  • Automatically Running a Standalone Java Client

    I have an application running on Orion with a standalone Java client, and I want this client to run as soon as the server is started. To complicate matters this client has an argument. After studying the documentation, I have made the following entries in the deployment descriptors (my apologies for the poor formatting):
    In server.xml:
    <application name="myApp" path="../applications/myApp.ear" auto-start="true" />
    In application.xml:
    <application>
    <display-name>myApp</display-name>
    <module>
    <ejb>./myApp-ejb.jar</ejb>
    <java>./myApp-client.jar</java>
    </module>
    <security-role>
         <description>myApp system admin</description>
         <role-name>admin</role-name>
    </security-role>
    </application>
    and in orion-application.xml:
    <ejb-module path="./myApp-ejb.jar" remote="false" />
         <client-module path="./myApp-client.jar" auto-start="true" user="admin">
              <arguments>
                   <argument value="theArgument" />
              </arguments>
         </client-module>
    After all this nothing happens when the server starts. I still must manually run the client (with java -jar myApp-client.jar theArgument). I have been studying this for two days, and I cannot determine why this is the case.
    One interesting thing I did notice was that the entire <client-module> tag (and therefore the <arguments> tag inside it) was missing in the orion-application.xml file located in the application-deployments directory. Of course I have no idea if that is significant.
    Any insight into this perplexing problem is appreciated. Thanks.

    I am curious if this is an issue with the paths I have placed in any or all of the descriptors. Should the paths in orion-application.xml be relative to itself? In other words, if you have this in the EAR:
    myApp.ear
    META-INF
    orion-application.xml
    application.xml
    myApp-ejb.jar
    myApp-client.jar
    then should the <client-module> path be this:
    <client-module path="../myApp-client.jar" >
    Or should it be relative to something other than the descriptor itself?
    Any insight is appreciated.
    Thanks again.

  • OJMS and Standalone Java Client

    Hi ,
    any one had luck in accessing the ojms queue from a standalone java application.I am using oc4j standalone 9.0.0.3 container.I was able to do it from a jsp page .
    But when i tried the same from standalone java client , its giving me javax.naming.NameNotFoundException: "No object bound for java:comp/resource/TestRP/QueueConnectionFactories/RPTable". The same lookup succeeds inside the jsp.Is there any additional configuration to be there for the standalone java client ?
    thanks in advance ..
    prem

    Perhaps too obvious a point, but your standalone java client is running in a process different from that of oc4j. How do your java client process connect to oc4j?
    Note that a jsp is running inside oc4j.

  • RMI - EJB Standalone Java client

    Hello,
    We have a standalone Java client attempting to invoke a EJBs running on OC4J. We get a user not allowed to access namespace...check orion-application.xml file... Any ideas what could be the problem.
    Regards.

    Hi,
    In access namespace tag of your orion-application.xml, you should specify the same user as the one used by your java client.
    Hope that helps
    regards

  • What should be done in certmap.conf for 2-way SSL support from a standalone Java application to an SSL enabled LDAP Server

    To support certficate based client authentication using 2-way SSL from a standalone java application which uses JNDI and JSSE1.0.2 to connect to an SSL enabled LDAP Server how do we configure the certmap.conf?Is there any additional setup required at the LDAP Server side apart from enablinf SSL with the option"Required Client Authentication" enabled.The 2 way SSL handshake goes through but the access log file (After configuring the certmap.conf for the issuer DN of the client certficate etc..)shows SSL failed to LDAP DN?But inspite of this access log error the Java client does get an SSL Connection object with which it is able to connect to the LDAP.IS the certmap.conf file being looked up by the LDAP Server at all?

    have you out.flush() and out.close() before you call connection.getInputStream()?

  • Standalone Web Service clients in NetBeans with WSIT security

    I'm having a problem create a secure app with NetBeans, any help would be appreciated, here's what I did:
    Following the WSIT tutorial (http://java.sun.com/webservices/reference/tutorials/wsit/doc/index.html) I was able to create a Web Service with (for example) Username Authentication with Symmetric Key. I select the keystore as being the either the default development settings (I installed V3 certificates previously) or what I imagine are the same as them: keystore from domain1, alias xws-server and a username and password that I've created in the glassfish admin console. All good so far.
    I then create a new web app servlet client, configuring the Web Service client with the corresponding cacerts keystore, alias xws-security-server from domain1 and the correct username and password. Deploy that and bingo, it works.
    Try that again with a standalone Java client configuring the client reference in exactly the same way and using:
            try { // Call Web Service Operation
                uk.ac.ox.sddag.glassfish.server.SecureWSService service = new uk.ac.ox.sddag.glassfish.server.SecureWSService();
                uk.ac.ox.sddag.glassfish.server.SecureWS port = service.getSecureWSPort();
                int x = 1200;
                int y = 36;
                int result = port.add(x, y);
                System.out.println("Result = "+result);
            } catch (Exception ex) {
                System.out.println("Exception:");
                ex.printStackTrace();
            }but this time, it doesn't work:
    Exception:
    javax.xml.ws.soap.SOAPFaultException: ERROR: No security header found in the message
            at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
            at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
            at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
            at $Proxy29.add(Unknown Source)
            at securestandaloneclient.Main.main(Main.java:26)
    Caused by: javax.xml.ws.soap.SOAPFaultException: ERROR: No security header found in the message
            at com.sun.xml.ws.security.opt.impl.util.SOAPUtil.getSOAPFaultException(SOAPUtil.java:171)
            at com.sun.xml.wss.provider.wsit.WSITServerAuthContext.validateRequest(WSITServerAuthContext.java:277)
            at com.sun.xml.wss.provider.wsit.WSITServerAuthContext.validateRequest(WSITServerAuthContext.java:179)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:168)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
            at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
            at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
            at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
            at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
            at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:176)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)I'm assuming that it's something to do with the WSDL being used to create the request, here's what the source view for the web service reference says:
    <?xml version="1.0" encoding="UTF-8"?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT. --><definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://server.glassfish.sddag.ox.ac.uk/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://server.glassfish.sddag.ox.ac.uk/" name="SecureWSService">
    <ns1:Policy xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/09/policy" wsu:Id="SecureWSPortBindingPolicy">
    <ns1:ExactlyOne>
    <ns1:All>
    <ns4:SignedSupportingTokens xmlns:ns4="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns4:UsernameToken ns4:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns4:WssUsernameToken10></ns4:WssUsernameToken10>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns4:UsernameToken>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns4:SignedSupportingTokens>
    <ns5:SymmetricBinding xmlns:ns5="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns5:AlgorithmSuite>
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns5:Basic128></ns5:Basic128>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns5:AlgorithmSuite>
    <ns5:IncludeTimestamp></ns5:IncludeTimestamp>
    <ns5:Layout>
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns5:Strict></ns5:Strict>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns5:Layout>
    <ns5:OnlySignEntireHeadersAndBody></ns5:OnlySignEntireHeadersAndBody>
    <ns5:ProtectionToken>
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns5:X509Token ns5:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns5:RequireIssuerSerialReference></ns5:RequireIssuerSerialReference>
    <ns5:WssX509V3Token10></ns5:WssX509V3Token10>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns5:X509Token>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns5:ProtectionToken>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns5:SymmetricBinding>
    <ns6:Wss11 xmlns:ns6="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns1:Policy>
    <ns1:ExactlyOne>
    <ns1:All>
    <ns6:MustSupportRefEncryptedKey></ns6:MustSupportRefEncryptedKey>
    <ns6:MustSupportRefIssuerSerial></ns6:MustSupportRefIssuerSerial>
    <ns6:MustSupportRefThumbprint></ns6:MustSupportRefThumbprint>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    </ns6:Wss11>
    <ns7:UsingAddressing xmlns:ns7="http://www.w3.org/2006/05/addressing/wsdl" ns1:Optional="true"></ns7:UsingAddressing>
    </ns1:All>
    </ns1:ExactlyOne>
    </ns1:Policy>
    <ns8:Policy xmlns:ns8="http://schemas.xmlsoap.org/ws/2004/09/policy" wsu:Id="SecureWSPortBinding_add_Input_Policy">
    <ns8:ExactlyOne>
    <ns8:All>
    <ns9:EncryptedParts xmlns:ns9="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns9:Body></ns9:Body>
    </ns9:EncryptedParts>
    <ns10:SignedParts xmlns:ns10="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns10:Body></ns10:Body>
    <ns10:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Namespace="http://www.w3.org/2005/08/addressing" Name="To"></ns10:Header>
    <ns10:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing"></ns10:Header>
    <ns10:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="AckRequested"></ns10:Header>
    <ns10:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="CreateSequence"></ns10:Header>
    <ns10:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="Sequence"></ns10:Header>
    <ns10:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="SequenceAcknowledgement"></ns10:Header>
    </ns10:SignedParts>
    </ns8:All>
    </ns8:ExactlyOne>
    </ns8:Policy>
    <ns11:Policy xmlns:ns11="http://schemas.xmlsoap.org/ws/2004/09/policy" wsu:Id="SecureWSPortBinding_add_Output_Policy">
    <ns11:ExactlyOne>
    <ns11:All>
    <ns12:EncryptedParts xmlns:ns12="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns12:Body></ns12:Body>
    </ns12:EncryptedParts>
    <ns13:SignedParts xmlns:ns13="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <ns13:Body></ns13:Body>
    <ns13:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Namespace="http://www.w3.org/2005/08/addressing" Name="To"></ns13:Header>
    <ns13:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing"></ns13:Header>
    <ns13:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="AckRequested"></ns13:Header>
    <ns13:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="CreateSequence"></ns13:Header>
    <ns13:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="Sequence"></ns13:Header>
    <ns13:Header Namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" Name="SequenceAcknowledgement"></ns13:Header>
    </ns13:SignedParts>
    </ns11:All>
    </ns11:ExactlyOne>
    </ns11:Policy>
    <types>
    <xsd:schema>
    <xsd:import namespace="http://server.glassfish.sddag.ox.ac.uk/" schemaLocation="http://localhost:8080/SecureApplication/SecureWSService?xsd=1"></xsd:import>
    </xsd:schema>
    </types>
    <message name="add">
    <part name="parameters" element="tns:add"></part>
    </message>
    <message name="addResponse">
    <part name="parameters" element="tns:addResponse"></part>
    </message>
    <portType name="SecureWS">
    <operation name="add">
    <input message="tns:add"></input>
    <output message="tns:addResponse"></output>
    </operation>
    </portType>
    <binding name="SecureWSPortBinding" type="tns:SecureWS">
    <ns14:PolicyReference xmlns:ns14="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#SecureWSPortBindingPolicy"></ns14:PolicyReference>
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding>
    <operation name="add">
    <soap:operation soapAction="add"></soap:operation>
    <input>
    <ns15:PolicyReference xmlns:ns15="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#SecureWSPortBinding_add_Input_Policy"></ns15:PolicyReference>
    <soap:body use="literal"></soap:body>
    </input>
    <output>
    <ns16:PolicyReference xmlns:ns16="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#SecureWSPortBinding_add_Output_Policy"></ns16:PolicyReference>
    <soap:body use="literal"></soap:body>
    </output>
    </operation>
    </binding>
    <service name="SecureWSService">
    <port name="SecureWSPort" binding="tns:SecureWSPortBinding">
    <soap:address location="http://localhost:8080/SecureApplication/SecureWSService"></soap:address>
    </port>
    </service>
    </definitions>The contents of META-INF (The WSDL):
    <?xml version="1.0" encoding="UTF-8"?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT. --><definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://server.glassfish.sddag.ox.ac.uk/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://server.glassfish.sddag.ox.ac.uk/" name="SecureWSService" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:sc="http://schemas.sun.com/2006/03/wss/client" xmlns:wspp="http://java.sun.com/xml/ns/wsit/policy">
    <types>
    <xsd:schema>
    <xsd:import namespace="http://server.glassfish.sddag.ox.ac.uk/" schemaLocation="http://localhost:8080/SecureApplication/SecureWSService?xsd=1"></xsd:import>
    </xsd:schema>
    </types>
    <message name="add">
    <part name="parameters" element="tns:add"></part>
    </message>
    <message name="addResponse">
    <part name="parameters" element="tns:addResponse"></part>
    </message>
    <portType name="SecureWS">
    <operation name="add">
    <input message="tns:add"></input>
    <output message="tns:addResponse"></output>
    </operation>
    </portType>
    <binding name="SecureWSPortBinding" type="tns:SecureWS">
        <wsp:PolicyReference URI="#SecureWSPortBindingPolicy"/>
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding>
    <operation name="add">
    <soap:operation soapAction="add"></soap:operation>
    <input>
    <soap:body use="literal"></soap:body>
    </input>
    <output>
    <soap:body use="literal"></soap:body>
    </output>
    </operation>
    </binding>
    <service name="SecureWSService">
    <port name="SecureWSPort" binding="tns:SecureWSPortBinding">
    <soap:address location="http://localhost:8080/SecureApplication/SecureWSService"></soap:address>
    </port>
    </service>
        <wsp:Policy wsu:Id="SecureWSPortBindingPolicy">
            <wsp:ExactlyOne>
                <wsp:All>
                    <sc:CallbackHandlerConfiguration wspp:visibility="private">
                        <sc:CallbackHandler default="example1" name="usernameHandler"/>
                        <sc:CallbackHandler default="password1" name="passwordHandler"/>
                    </sc:CallbackHandlerConfiguration>
                    <sc:TrustStore wspp:visibility="private" type="JKS" storepass="changeit" location="/Applications/NetBeans/glassfish-v2ur2/domains/domain1/config/cacerts.jks" peeralias="xws-security-server"/>
                </wsp:All>
            </wsp:ExactlyOne>
        </wsp:Policy>
    </definitions>The wsit-client:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="mainclientconfig"
    >
        <import location="SecureWSService.xml" namespace="http://server.glassfish.sddag.ox.ac.uk/"/>
    </definitions>

    This bug still isn't fixed.
    Thank you, adding Glassfish's webservices-rt.jar does fix it.

Maybe you are looking for

  • How to change to new line?

    the follow is part of my codes: FileOutputStream fos = new FileOutputStream("seperate.txt"); DataOutputStream dos = new DataOutputStream(fos); dos.writeChars("the one that i will not love any more has occupied this line"); dos.writeChars("\n"); dos.w

  • Function module required for time stamp conversion into MST

    Hello, Please let me know if there is a SAP function module that can convert timestamp from GMT or provided timestamp into MST. I will need to use this function in BW transformation. Thanks.

  • NCS 1.1.3.2 not compatible with WLC Code 7.6 ?

    Hello, i have updatet my WLC 2504 Controllers. I want to applie a new wlan template. But I get only the error message: "Reason: SNMP operation to Device failed:                           " The SNMP Reason is empty....(See attachment) I work with "Cis

  • Exporting HDV to Std Def - h.264 or Pro rez?

    Can do the 'share' option but the idvd menus are far superior.  So exporting thru QT (not QT conversion), which would yield the better results h.264 or Pro rez 422?  And will set the idvd prefs to Best Performance.

  • COA without Batch Management

    Hi Experts, I've worked with COA's in the past & always worked on them with Batches. Was wondering how much sense would it make to print out COA's without using Batch Management. Could anyone share their thoughts on this ?? I dont want to work with B