You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Deepa Priolkar <de...@TechMahindra.com> on 2010/10/25 14:15:37 UTC
Issue with Service Invoked though RMIDispatcher
Hi,
I am trying to call a service through RMI, but I am getting some weird
exception.. it says ClassNtFound, for the class which is there in the
classpath.. Please help.. need some inputs asap L
2010-10-25 17:24:57,652 (RMI TCP Connection(4)-10.5.73.90) [
ServiceDispatcher.java:506:ERROR]
---- exception report
----------------------------------------------------------
Service [updateScanResultTest] threw an unexpected exception/error
Exception: org.ofbiz.service.GenericServiceException
Message: Cannot find service [updateScanResultTest] location class
(com.pci.services.ASVEngineService )
---- cause
---------------------------------------------------------------------
Exception: java.lang.ClassNotFoundException
Message: com.pci.services.ASVEngineService
---- stack trace
---------------------------------------------------------------
java.lang.ClassNotFoundException: com.pci.services.ASVEngineService
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
Following are the configurations
Services.xml
<service name="updateScanResultTest" export="true" auth="false"
engine="java"
location="com.pci.services.ASVEngineService "
invoke="updateScanResult">
<description>add the scan details to the database</description>
<attribute name="scanResult" type="String" mode="IN"
optional="false"/>
<attribute name=" response" type="String" mode="OUT"
optional="true"/>
</service>
Ofbiz-container.xml
<!-- RMI Service Dispatcher -->
<container name="rmi-dispatcher"
class="org.ofbiz.service.rmi.RmiServiceContainer">
<property name="bound-name" value="RMIDispatcher"/>
<property name="bound-host" value="127.0.0.1"/>
<property name="bound-port" value="1099"/>
<property name="delegator-name" value="default"/>
<property name="client-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionClientSocketFactory"/
>
<property name="server-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionServerSocketFactory"/
>
<!-- property name="ssl-keystore"
value="framework/base/config/ofbizrmi.jks"/>
<property name="ssl-keystore-type" value="JKS"/>
<property name="ssl-keystore-pass" value="changeit"/>
<property name="ssl-keystore-alias" value="rmissl"/-->
<property name="ssl-client-auth" value="false"/>
</container>
Calling Client
package com.pci.test;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Map;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.rmi.RemoteDispatcher;
public class CallingOfbizService
{
public static void main(String str[])
{
String endpoint;
try{
endpoint = "rmi://127.0.0.1:1099/RMIDispatcher";
RemoteDispatcher remoteDisp = (RemoteDispatcher)
Naming.lookup(endpoint);
Map result =
remoteDisp.runSync("updateScanResultTest", UtilMisc.toMap("scanResult",
"Hello"));
}catch (MalformedURLException e2) {
e2.printStackTrace();
} catch (RemoteException e3) {
e3.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
} catch (GenericServiceException e) {
e.printStackTrace();
}
}
}
============================================================================================================================Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra.============================================================================================================================
Issue with Service Invoked though RMIDispatcher
Posted by Deepa Priolkar <de...@TechMahindra.com>.
Hi,
I am trying to call a service through RMI, I am getting exception
related to marshaling,
java.rmi.UnmarshalException: Error unmarshaling return; nested exception
is:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.ofbiz.service.ModelNotification
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:217
)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at
java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteO
bjectInvocationHandler.java:179)
at
java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocat
ionHandler.java:132)
at $Proxy0.runSync(Unknown Source)
at
com.pci.test.CallingOfbizService.main(CallingOfbizService.java:21)
Caused by: java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.ofbiz.service.ModelNotification
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1303)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at javolution.util.FastList.readObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713
)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713
)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713
)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215
)
... 5 more
Caused by: java.io.NotSerializableException:
org.ofbiz.service.ModelNotification
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at javolution.util.FastList.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
284)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
69)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
284)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
69)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
284)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:332)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:701)
at java.lang.Thread.run(Thread.java:595)
Following are the configurations
Services.xml
<service name="updateScanResultTest" export="true" auth="false"
engine="java"
location="com.pci.services.ASVEngineService "
invoke="updateScanResult">
<description>add the scan details to the database</description>
<attribute name="scanResult" type="String" mode="IN"
optional="false"/>
<attribute name=" response" type="String" mode="OUT"
optional="true"/>
</service>
Ofbiz-container.xml
<!-- RMI Service Dispatcher -->
<container name="rmi-dispatcher"
class="org.ofbiz.service.rmi.RmiServiceContainer">
<property name="bound-name" value="RMIDispatcher"/>
<property name="bound-host" value="127.0.0.1"/>
<property name="bound-port" value="1099"/>
<property name="delegator-name" value="default"/>
<property name="client-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionClientSocketFactory"/
>
<property name="server-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionServerSocketFactory"/
>
<!-- property name="ssl-keystore"
value="framework/base/config/ofbizrmi.jks"/>
<property name="ssl-keystore-type" value="JKS"/>
<property name="ssl-keystore-pass" value="changeit"/>
<property name="ssl-keystore-alias" value="rmissl"/-->
<property name="ssl-client-auth" value="false"/>
</container>
Calling Client
package com.pci.test;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Map;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.rmi.RemoteDispatcher;
public class CallingOfbizService
{
public static void main(String str[])
{
String endpoint;
try{
endpoint = "rmi://127.0.0.1:1099/RMIDispatcher";
RemoteDispatcher remoteDisp = (RemoteDispatcher)
Naming.lookup(endpoint);
Map result =
remoteDisp.runSync("updateScanResultTest", UtilMisc.toMap("scanResult",
"Hello"));
}catch (MalformedURLException e2) {
e2.printStackTrace();
} catch (RemoteException e3) {
e3.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
} catch (GenericServiceException e) {
e.printStackTrace();
}
}
}
============================================================================================================================Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra.============================================================================================================================
RE: Issue with Service Invoked though RMIDispatcher
Posted by Deepa Priolkar <de...@TechMahindra.com>.
Resolved the issue related to the ClassNotFoundException...
From: Deepa Priolkar
Sent: Monday, October 25, 2010 5:46 PM
To: user@ofbiz.apache.org
Subject: Issue with Service Invoked though RMIDispatcher
Hi,
I am trying to call a service through RMI, but I am getting some weird
exception.. it says ClassNtFound, for the class which is there in the
classpath.. Please help.. need some inputs asap L
2010-10-25 17:24:57,652 (RMI TCP Connection(4)-10.5.73.90) [
ServiceDispatcher.java:506:ERROR]
---- exception report
----------------------------------------------------------
Service [updateScanResultTest] threw an unexpected exception/error
Exception: org.ofbiz.service.GenericServiceException
Message: Cannot find service [updateScanResultTest] location class
(com.pci.services.ASVEngineService )
---- cause
---------------------------------------------------------------------
Exception: java.lang.ClassNotFoundException
Message: com.pci.services.ASVEngineService
---- stack trace
---------------------------------------------------------------
java.lang.ClassNotFoundException: com.pci.services.ASVEngineService
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
Following are the configurations
Services.xml
<service name="updateScanResultTest" export="true" auth="false"
engine="java"
location="com.pci.services.ASVEngineService "
invoke="updateScanResult">
<description>add the scan details to the database</description>
<attribute name="scanResult" type="String" mode="IN"
optional="false"/>
<attribute name=" response" type="String" mode="OUT"
optional="true"/>
</service>
Ofbiz-container.xml
<!-- RMI Service Dispatcher -->
<container name="rmi-dispatcher"
class="org.ofbiz.service.rmi.RmiServiceContainer">
<property name="bound-name" value="RMIDispatcher"/>
<property name="bound-host" value="127.0.0.1"/>
<property name="bound-port" value="1099"/>
<property name="delegator-name" value="default"/>
<property name="client-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionClientSocketFactory"/
>
<property name="server-factory"
value="org.ofbiz.service.rmi.socket.zip.CompressionServerSocketFactory"/
>
<!-- property name="ssl-keystore"
value="framework/base/config/ofbizrmi.jks"/>
<property name="ssl-keystore-type" value="JKS"/>
<property name="ssl-keystore-pass" value="changeit"/>
<property name="ssl-keystore-alias" value="rmissl"/-->
<property name="ssl-client-auth" value="false"/>
</container>
Calling Client
package com.pci.test;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Map;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.rmi.RemoteDispatcher;
public class CallingOfbizService
{
public static void main(String str[])
{
String endpoint;
try{
endpoint = "rmi://127.0.0.1:1099/RMIDispatcher";
RemoteDispatcher remoteDisp = (RemoteDispatcher)
Naming.lookup(endpoint);
Map result =
remoteDisp.runSync("updateScanResultTest", UtilMisc.toMap("scanResult",
"Hello"));
}catch (MalformedURLException e2) {
e2.printStackTrace();
} catch (RemoteException e3) {
e3.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
} catch (GenericServiceException e) {
e.printStackTrace();
}
}
}
============================================================================================================================Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra.============================================================================================================================