Casting DataHandler to complex user type.
Hi guys,
I am beginner and I have met a problem during invoking my Web Service. To create and run it I have used Axis2 v 1.4, Eclipse tools and Tomcat 6. I found out the problem are complex invoking parameters because when I run simple WS with basic type parameter like String everything works fine.
What is wrong with my implementation?
Service class:
public class AccessLevelService implements AccessLevelContract {
private AccessLevelDAO accessLevelDAO;
public AccessLevelService() {
String [] path = {"com/applicationContext.xml"};
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(path);
accessLevelDAO = (AccessLevelDAO) applicationContext.getBean("accessLevelDAO");
@Override
public void add(AccessLevel entity) {
accessLevelDAO.add(entity);
@Override
public List<AccessLevel> getAll() {
return accessLevelDAO.getList(new AccessLevel());
@Override
public void modify(AccessLevel entity) {
accessLevelDAO.modify(entity);
@Override
public void remove(AccessLevel entity) {
accessLevelDAO.remove(entity);
}Here is my AccessLevel class:
public class AccessLevel implements Serializable{
private int id;
private String level;
public AccessLevel() {
public AccessLevel(String level) {
this.level = level;
public int getId() {
return id;
public void setId(int id) {
this.id = id;
public String getLevel() {
return level;
public void setLevel(String level) {
this.level = level;
}Exception:
[ERROR] javax.activation.DataHandler cannot be cast to com.rejkowicz.dataobject.AccessLevel
java.lang.ClassCastException: javax.activation.DataHandler cannot be cast to com.rejkowicz.dataobject.AccessLevel
at com.rejkowicz.ws.AccessLevelService.add(AccessLevelService.java:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:63)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
[ERROR] org.apache.axis2.AxisFault: javax.activation.DataHandler cannot be cast to com.rejkowicz.dataobject.AccessLevelBy,
Luke
Matthew,
Edward has the right approach, though somewhere you two mis-communicated.
You can create either a dynamic or static LOV within HTML DB that is not part of the "database end".
If I'm understanding what you are saying correctly, using a static LOV (where within HTML DB you define the 4='Temp" relationship), on the form itself you'd basically be saying:
select temp display_field, type_code return_value from your_LOV.
HTML DB's LOV will display pretty much whatever you want (the display_field), and then return pretty much whatever you want (the return_value). Sometime's it's a little limited, only showing the one display_field, but you can sometimes work around it with some decode and concatenation.
So, if you define a static LOV where you define the display value 'Temp' returns the number 4, everything should work fine.
Bill Ferguson
Similar Messages
-
Hi,
This is the first time I am using Coherence to cache some lists in my ADF Application. This is my objects configuration file:
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<!-- coherence POF user types -->
<include>coherence-pof-config.xml</include>
<!-- com.tangosol.examples package -->
<user-type>
<type-id>1001</type-id>
<class-name>package.dataproviders.TFDO1Services</class-name>
</user-type>
<user-type>
<type-id>1002</type-id>
<class-name>package.dataproviders.TFDO2Services</class-name>
</user-type>
</user-type-list>
<allow-interfaces>true</allow-interfaces>
<allow-subclasses>true</allow-subclasses>
</pof-config>
I have implemented the portableObject interface to each of my objects and they look like this:
@Override
public void readExternal(PofReader pofReader) throws IOException {
this.tfMyList = (ArrayList<GenericRowData>) pofReader.readObject(0);
@Override
public void writeExternal(PofWriter pofWriter) throws IOException {
pofWriter.writeObject(0, this.tfMyList);
Please any help would be great!Hi Alejandro,
Please note that when POF serialize collections it is somewhat lossy, in that when you deserialize the collection you may get a different collection implementation. I.e. you're list will come out as a an implementation of java.util.List but not necessarily a java.util.ArrayList, so just cast to the List interface. If you absolutely need a certain class impl type then you can use the readCollection method passing in the list you wish to have populated.
thanks,
Mark -
How to access complex data type objects in webdynpro
Hi
Need help on the detailed procedure to access the complex data type objects.
I am importing an external wsdl file, its request and response have complex data type objects , how do i access the same as the values are nested in them.
The structure of request and response at my end is as below:
request(I level)
--complextypeobject(II level)
requestheader(III level)
field1
field2
request
--response
messages
resp1
resp2
Any help would be highly appreciated.
Thanks and Regards,
Amar Bhagat Challa.here you go
WS Structure
Request_MI_PortWellOB_MI_PortWellOB
|-- MT_PortWellOut
|--agency ( attr)
|--user (attr)
|-- well ( node)
|-- borehole
|-- downhole
|-- interval
|-- surface
// code to set complex type
wdContext.nodeRequest_MI_PortWellOB_MI_PortWellOB().bind(new Request_MI_PortWellOB_MI_PortWellOB());
// port well object
Request_MI_PortWellOB_MI_PortWellOB oPWRequest = new Request_MI_PortWellOB_MI_PortWellOB();
ComplexType_DT_PortWell oPWParameters = new ComplexType_DT_PortWell();
oPWRequest.setMT_PortWellOut(oPWParameters);
wdContext.nodeRequest_MI_PortWellOB_MI_PortWellOB().bind(oPWRequest);
DT_PortWell oPWInputbean =
this.wdContext.nodeRequest_MI_PortWellOB_MI_PortWellOB().nodeMT_PortWellOut().currentMT_PortWellOutElement().modelObject().getOriginalBean();
// oPWInputbean.setTEST("test");
// well object
DT_CWR_Well oWParameters = new DT_CWR_Well();
// all object
// surface
DT_CWR_Surface oSParameters = new DT_CWR_Surface();
ComplexType_DT_CWR_Surface s = new ComplexType_DT_CWR_Surface();
// Borehole
DT_CWR_BoreHole[] oBParameters = new DT_CWR_BoreHole[wdContext.nodeBoreholedetail().size()];
// Downhole
DT_CWR_DownHole[] oDParameters = new DT_CWR_DownHole[wdContext.nodeDownholedetail().size()];
// Interval
DT_CWR_Interval[] oIParameters = new DT_CWR_Interval[wdContext.nodeIntervaldetail().size()];
// add all into well object
oWParameters.setSURFACE(oSParameters);
oWParameters.setBOREHOLE(oBParameters);
oWParameters.setDOWNHOLE(oDParameters);
oWParameters.setINTERVAL(oIParameters);
// oPWParameters.setWELL(oWParameters );
oPWInputbean.setWELL(oWParameters);
oPWRequest.setMT_PortWellOut(oPWParameters);
wdContext.nodeRequest_MI_PortWellOB_MI_PortWellOB().bind(oPWRequest);
wdContext.currentMT_PortWellOutElement().setUSERID("user");
wdContext.currentMT_PortWellOutElement().setAGENCY("agency");
Rahul -
C++ - Unable to load class for user type- ClassNotFoundException
Hi ,
I'm getting ClassNotFoundException when i try to start the coherence server. I've no clue to solve it.
Any help would be appreciated.
i'm using POF serializer and registering the class using the macro
COH_REGISTER_POF_SERIALIZER(1234,TypedClass<CVOG_AllocationInquiry>::create(), PortableObjectSerializer::create(1234));
i've set the CLASSPATH to my source folder.
i read some posts saying we need java wrapper for this? is that true, do we need java wrapper for all the c++classes that we register.
Here are the details:
my C++ class :
class CVOG_AllocationInquiry : public cloneable_spec<CVOG_AllocationInquiry, extends<Object>, implements< PortableObject> >
friend class factory<CVOG_AllocationInquiry>;
protected:
CVOG_AllocationInquiry()
: m_modl_yr_nbr(self()), m_sellng_src_cd(self()), m_alloc_grp_cd(self()),
m_namplt_cd(self()), m_veh_prod_cd(self()), m_alloc_grp_desc(self())
CVOG_AllocationInquiry(String::View modl_yr_nbr, String::View sellng_src_cd, String::View alloc_grp_cd, String::View namplt_cd, String::View veh_prod_cd, String::View alloc_grp_desc)
:m_modl_yr_nbr(self(),modl_yr_nbr),m_sellng_src_cd(self(),sellng_src_cd),m_alloc_grp_cd(self(),alloc_grp_cd),m_namplt_cd(self(),namplt_cd),
m_veh_prod_cd(self(),veh_prod_cd),m_alloc_grp_desc(self(),alloc_grp_desc)
// initialize(m_modl_yr_nbr, modl_yr_nbr);
CVOG_AllocationInquiry(const CVOG_AllocationInquiry& alloc)
:super(alloc),m_modl_yr_nbr(self(),alloc.m_modl_yr_nbr),m_sellng_src_cd(self(),alloc.m_sellng_src_cd),
m_alloc_grp_cd(self(),alloc.m_alloc_grp_cd),m_namplt_cd(self(),alloc.m_namplt_cd),
m_veh_prod_cd(self(),alloc.m_veh_prod_cd),m_alloc_grp_desc(self(),alloc.m_alloc_grp_desc)
public:
virtual String::View getGrpCd() const {return m_alloc_grp_cd; }
virtual String::View getGrpDesc() const { return m_alloc_grp_desc;}
virtual String::View getModlYr() const { return m_modl_yr_nbr;}
virtual String::View getNmPltCd() const {return m_namplt_cd; }
virtual String::View getSelSrcCd() const {return m_sellng_src_cd; }
virtual String::View getVehProdCd() const { return m_veh_prod_cd ;}
virtual void writeExternal(PofWriter::Handle hOut) const
hOut->writeString(0, getModlYr());
hOut->writeString (1, getSelSrcCd());
hOut->writeString (2, getGrpCd());
hOut->writeString (3, getNmPltCd());
hOut->writeString (4, getVehProdCd());
hOut->writeString (5, getGrpDesc());
virtual void readExternal(PofReader::Handle hIn)
// add for other members also here
initialize(m_modl_yr_nbr, hIn->readString(0));
initialize(m_sellng_src_cd, hIn->readString(1));
initialize(m_alloc_grp_cd, hIn->readString(2));
initialize(m_namplt_cd, hIn->readString(3));
initialize(m_veh_prod_cd, hIn->readString(4));
initialize(m_alloc_grp_desc, hIn->readString(5));
public: // Object interface
virtual bool equals(Object::View that) const
if (instanceof<CVOG_AllocationInquiry::View>(that))
CVOG_AllocationInquiry::View vThat = cast<CVOG_AllocationInquiry::View>(that);
return Object::equals(getGrpCd() ,vThat->getGrpCd()) &&
Object::equals(getGrpDesc() ,vThat->getGrpDesc()) &&
Object::equals(getModlYr() ,vThat->getModlYr()) &&
Object::equals(getNmPltCd() ,vThat->getNmPltCd()) &&
Object::equals(getSelSrcCd() ,vThat->getSelSrcCd()) &&
Object::equals(getVehProdCd() ,vThat->getVehProdCd());
return false;
virtual size32_t hashCode() const
size32_t m_nNum;
return (size32_t) m_nNum;
virtual void toStream(std::ostream& out) const
out << getGrpCd() << ", " << getGrpDesc() << " " << getModlYr();
private:
FinalView<String> m_modl_yr_nbr;
FinalView<String> m_sellng_src_cd;
FinalView<String> m_alloc_grp_cd;
FinalView<String> m_namplt_cd;
FinalView<String> m_veh_prod_cd;
FinalView<String> m_alloc_grp_desc;
cache config file -
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>AllocInq-extend</cache-name>
<scheme-name>extend-dist</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>dist-extend-near</cache-name>
<scheme-name>extend-near</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<near-scheme>
<scheme-name>extend-near</scheme-name>
<front-scheme>
<local-scheme>
<high-units>1000</high-units>
</local-scheme>
</front-scheme>
<back-scheme>
<remote-cache-scheme>
<scheme-ref>extend-dist</scheme-ref>
</remote-cache-scheme>
</back-scheme>
<invalidation-strategy>all</invalidation-strategy>
</near-scheme>
<remote-cache-scheme>
<scheme-name>extend-dist</scheme-name>
<service-name>ExtendTcpProxyService</service-name>
<initiator-config>
<tcp-initiator>
<remote-addresses>
<socket-address>
<address>localhost</address>
<port>9099</port>
</socket-address>
</remote-addresses>
<connect-timeout>10s</connect-timeout>
</tcp-initiator>
<outgoing-message-handler>
<request-timeout>5s</request-timeout>
</outgoing-message-handler>
</initiator-config>
</remote-cache-scheme>
<remote-invocation-scheme>
<scheme-name>extend-invocation</scheme-name>
<service-name>ExtendTcpInvocationService</service-name>
<initiator-config>
<tcp-initiator>
<remote-addresses>
<socket-address>
<address>localhost</address>
<port>9099</port>
</socket-address>
</remote-addresses>
<connect-timeout>10s</connect-timeout>
</tcp-initiator>
<outgoing-message-handler>
<request-timeout>5s</request-timeout>
</outgoing-message-handler>
</initiator-config>
</remote-invocation-scheme>
</caching-schemes>
</cache-config>
server config file :
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>AllocInq-*</cache-name>
<scheme-name>dist-default</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>dist-default</scheme-name>
<lease-granularity>member</lease-granularity>
<thread-count>8</thread-count>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<proxy-scheme>
<service-name>ExtendTcpProxyService</service-name>
<thread-count>5</thread-count>
<acceptor-config>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value>/home/hema/workspace/CoherenceClient/config/pof.xml</param-value>
</init-param>
</init-params>
</serializer>
<tcp-acceptor>
<local-address>
<address>localhost</address>
<port>9099</port>
</local-address>
</tcp-acceptor>
</acceptor-config>
<proxy-config>
<cache-service-proxy>
<lock-enabled>true</lock-enabled>
</cache-service-proxy>
</proxy-config>
<autostart>true</autostart>
</proxy-scheme>
</caching-schemes>
</cache-config>
pof.xml
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<!-- include all "standard" Coherence POF user types -->
<include>coherence-pof-config.xml</include>
<!-- include all application POF user types -->
<user-type>
<type-id>1234</type-id>
<class-name>CVOG_AllocationInquiry</class-name>
<serializer>
<class-name>CVOG_AllocationInquiry</class-name>
<init-params>
<init-param>
<param-type>string</param-type>
<param-value>1</param-value>
</init-param>
</init-params>
</serializer>
</user-type>
</user-type-list>
</pof-config>Hi Mark,
i did go thru' the thread and understood that no "pof " mentioning in the cache xml file. I removed the pof config details from the cache xml config file and registersd the c++ class using the macro.
after these, iwas able to start the extended proxy server from consol:
When i try to do the same from my program as :
String::View vsCacheName = "AllocInq-extend";
CacheFactory::configure(CacheFactory::loadXmlFile(String::create ("/home/hema/workspace/CoherenceClient/config/cache-config_TCP.xml")),CacheFactory::loadXmlFile(String::create("/home/hema/workspace/CoherenceClient/config/tangosol-coherence-override.xml")));
NamedCache::Handle hCache = NULL;
hCache = CacheFactory::getCache(vsCacheName);
i get the following error,
Oracle Coherence for C++ Version 3.7.0.0 Build 23257
RTC Linux x64 Release g++ build
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
2011-09-06 08:01:48.185/13.197 Oracle Coherence for C++ RTC 3.7.0.0 <D5> (thread=ExtendTcpProxyService:coherence::component::util::TcpInitiator): Started: coherence::component::util::TcpInitiator@0x73d3c8{Name=ExtendTcpProxyService:coherence::component::util::TcpInitiator, State=(service_started), ThreadCount=0, Codec=coherence::component::net::extend::PofCodec@0x744300{Format=POF}, PingInterval=0, PingTimeout=5000, RequestTimeout=5000, ConnectTimeout=10000, RemoteAddresses=[sles/192.168.1.5:9099], KeepAliveEnabled=0, TcpDelayEnabled=0, ReceiveBufferSize=0, SendBufferSize=0, LingerTimeout=0}
2011-09-06 08:01:48.187/13.199 Oracle Coherence for C++ RTC 3.7.0.0 <D5> (thread=main): Connecting Socket to sles/192.168.1.5:9099
2011-09-06 08:01:51.199/16.211 Oracle Coherence for C++ RTC 3.7.0.0 <Info> (thread=main): Error connecting Socket to sles/192.168.1.5:9099: coherence::io::IOException: getpeername(nSocket, &addrPeer, &cbPeer) failed; errno[107]
at virtual bool coherence::native::posix::PosixSocket::connect(coherence::lang::TypedHandle<const coherence::net::SocketAddress>, int64_t)(PosixSocket.hpp:640)
at coherence::native::posix::PosixSocket::connect(coherence::lang::TypedHandle<coherence::net::SocketAddress const>, long)
at coherence::net::Socket::connect(coherence::lang::TypedHandle<coherence::net::SocketAddress const>, long)
at coherence::component::util::TcpInitiator::openConnection()
at coherence::component::util::Initiator::ensureConnection()
at coherence::component::net::extend::RemoteCacheService::openChannel()
at coherence::component::net::extend::RemoteService::doStart()
at coherence::component::net::extend::RemoteService::start()
at coherence::component::util::SafeService::startService(coherence::lang::TypedHandle<coherence::net::Service>) const
at coherence::component::util::SafeService::restartService() const
at coherence::component::util::SafeService::ensureRunningServiceInternal(bool) const
at coherence::component::util::SafeService::start()
at coherence::net::DefaultConfigurableCacheFactory::configureService(coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureService(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureRemoteCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::configureCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::CacheFactory::getCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
<stack frame symbol unavailable>
at __libc_start_main
on thread "main"
2011-09-06 08:01:51.210/16.222 Oracle Coherence for C++ RTC 3.7.0.0 <Error> (thread=main): Unable to start service ExtendTcpProxyService: coherence::net::messaging::ConnectionException: could not establish a connection to one of the following addresses: {sles/192.168.1.5:9099}; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
at virtual coherence::lang::TypedHandle<coherence::component::net::extend::PofConnection> coherence::component::util::TcpInitiator::openConnection()(TcpInitiator.cpp:284)
at coherence::component::util::TcpInitiator::openConnection()
at coherence::component::util::Initiator::ensureConnection()
at coherence::component::net::extend::RemoteCacheService::openChannel()
at coherence::component::net::extend::RemoteService::doStart()
at coherence::component::net::extend::RemoteService::start()
at coherence::component::util::SafeService::startService(coherence::lang::TypedHandle<coherence::net::Service>) const
at coherence::component::util::SafeService::restartService() const
at coherence::component::util::SafeService::ensureRunningServiceInternal(bool) const
at coherence::component::util::SafeService::start()
at coherence::net::DefaultConfigurableCacheFactory::configureService(coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureService(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureRemoteCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::configureCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::CacheFactory::getCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
<stack frame symbol unavailable>
at __libc_start_main
on thread "main"
coherence::net::messaging::ConnectionException: could not establish a connection to one of the following addresses: {sles/192.168.1.5:9099}; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
at virtual coherence::lang::TypedHandle<coherence::component::net::extend::PofConnection> coherence::component::util::TcpInitiator::openConnection()(TcpInitiator.cpp:284)
at coherence::component::util::TcpInitiator::openConnection()
at coherence::component::util::Initiator::ensureConnection()
at coherence::component::net::extend::RemoteCacheService::openChannel()
at coherence::component::net::extend::RemoteService::doStart()
at coherence::component::net::extend::RemoteService::start()
at coherence::component::util::SafeService::startService(coherence::lang::TypedHandle<coherence::net::Service>) const
at coherence::component::util::SafeService::restartService() const
at coherence::component::util::SafeService::ensureRunningServiceInternal(bool) const
at coherence::component::util::SafeService::start()
at coherence::net::DefaultConfigurableCacheFactory::configureService(coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureService(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureRemoteCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::configureCache(coherence::lang::TypedHandle<coherence::net::DefaultConfigurableCacheFactory::CacheInfo const>, coherence::lang::TypedHandle<coherence::run::xml::XmlElement const>)
at coherence::net::DefaultConfigurableCacheFactory::ensureCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
at coherence::net::CacheFactory::getCache(coherence::lang::String::StringHandle<coherence::lang::String const>)
<stack frame symbol unavailable>
at __libc_start_main
on thread "main"
Pls can you suggest something, greatly appreciated in advance.
althouh i did observe one thing,, when i start the service from console, the ip is different. But from the program, it displays the different ip that it looks for connection and fails. -
Hi All,
What is "User Type" when create user in portal administration cosole. The value
it has is "User" & "WLCS_Customer".
Thx,
SatishThis is an awfully broad question... Sometimes, it's useful to have object types with methods to simplify PL/SQL development by providing a layer of abstraction over relatively complex objects and/or by hiding certain attributes from code. It can be useful to pass around a single object type rather than passing dozens of parameters. Having object types and collections of types can greatly simplify bulk processing. You can also define columns in tables that are object types, which can be useful on occasion, but isn't particularly common.
If you have a more specific question, I'm sure we can come up with a more specific answer.
Justin -
How to hide cut/copy/paste/Replace… menu on the UIWebView when it is being displayed over the keyboard.
Detail: I am having a HTML from, having text box, displayed using UIWebView. If user types in text box it shows the keyboard. Now If user tap and hold on text box it shows a popup menu. Now while keyboard and pop up are being displayed user scrolls the view. At this time it shows pop up over the keyboard which I need to hide.
I tried setMenuVisible of UIMenuController when popup rect and keyboard rect intersects each other on viewDidScroll but it didn't help me.
Any clues will help a lot.
Thanks.You are more likely to get an answer if you post programming problems to the Developer forum. This forum is intended for normal user level problems.
-
Problem while accessing a complex data type
hi,
I am getting a problem while accessing a complex data type
I have a wsdl as:
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="OutlookReminderService" targetNamespace="http://ws.aftek.com/outlook-reminder" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://ws.aftek.com/outlook-reminder/schemas" xmlns:ns3="http://java.sun.com/jax-rpc-ri/internal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.aftek.com/outlook-reminder" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <types>
- <schema targetNamespace="http://ws.aftek.com/outlook-reminder/schemas" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://ws.aftek.com/outlook-reminder/schemas" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<import namespace="http://java.sun.com/jax-rpc-ri/internal" />
- <complexType name="TaskVO">
- <sequence>
<element name="dueDate" type="long" />
<element name="percentageComplete" type="int" />
<element name="priorty" type="int" />
<element name="reminderDate" type="long" />
<element name="reminderSet" type="boolean" />
<element name="startDate" type="long" />
<element name="status" type="int" />
<element name="subject" type="string" />
<element name="taskId" type="string" />
</sequence>
</complexType>
- <complexType name="NoSuchUserException">
- <sequence>
<element name="message" type="string" />
</sequence>
</complexType>
- <complexType name="ArrayOfContactVO">
- <complexContent>
- <restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType" wsdl:arrayType="tns:ContactVO[]" />
</restriction>
</complexContent>
</complexType>
- <complexType name="ContactVO">
- <sequence>
<element name="birthDate" type="long" />
<element name="companyAddress" type="string" />
<element name="companyName" type="string" />
<element name="emailID1" type="string" />
<element name="emailID2" type="string" />
<element name="emailID3" type="string" />
<element name="faxNumber" type="string" />
<element name="firstName" type="string" />
<element name="homeAddress" type="string" />
<element name="lastName" type="string" />
<element name="middleName" type="string" />
<element name="mobileNumber" type="string" />
<element name="phoneNumber" type="string" />
<element name="workContactNumber" type="string" />
</sequence>
</complexType>
</schema>
- <schema targetNamespace="http://java.sun.com/jax-rpc-ri/internal" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://java.sun.com/jax-rpc-ri/internal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<import namespace="http://ws.aftek.com/outlook-reminder/schemas" />
- <complexType name="arrayList">
- <complexContent>
- <extension base="tns:list">
<sequence />
</extension>
</complexContent>
</complexType>
- <complexType name="list">
- <complexContent>
- <extension base="tns:collection">
<sequence />
</extension>
</complexContent>
</complexType>
- <complexType name="collection">
- <complexContent>
- <restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType" wsdl:arrayType="anyType[]" />
</restriction>
</complexContent>
</complexType>
</schema>
</types>
<message name="OutlookServer_addTaskResponse" />
- <message name="OutlookServer_getListResponse">
<part name="result" type="ns3:arrayList" />
</message>
- <message name="OutlookServer_getContactListResponse">
<part name="result" type="ns2:ArrayOfContactVO" />
</message>
- <message name="NoSuchUserException">
<part name="NoSuchUserException" type="ns2:NoSuchUserException" />
</message>
- <message name="OutlookServer_getContactList">
<part name="String_1" type="xsd:string" />
</message>
- <message name="OutlookServer_getList">
<part name="String_1" type="xsd:string" />
</message>
- <message name="OutlookServer_addTask">
<part name="String_1" type="xsd:string" />
<part name="TaskVO_2" type="ns2:TaskVO" />
</message>
- <message name="OutlookServer_reminderOccurredResponse">
<part name="result" type="xsd:boolean" />
</message>
- <message name="OutlookServer_reminderOccurred">
<part name="String_1" type="xsd:string" />
<part name="TaskVO_2" type="ns2:TaskVO" />
</message>
- <portType name="OutlookServer">
- <operation name="addTask" parameterOrder="String_1 TaskVO_2">
<input message="tns:OutlookServer_addTask" />
<output message="tns:OutlookServer_addTaskResponse" />
<fault message="tns:NoSuchUserException" name="NoSuchUserException" />
</operation>
- <operation name="getContactList" parameterOrder="String_1">
<input message="tns:OutlookServer_getContactList" />
<output message="tns:OutlookServer_getContactListResponse" />
<fault message="tns:NoSuchUserException" name="NoSuchUserException" />
</operation>
- <operation name="getList" parameterOrder="String_1">
<input message="tns:OutlookServer_getList" />
<output message="tns:OutlookServer_getListResponse" />
<fault message="tns:NoSuchUserException" name="NoSuchUserException" />
</operation>
- <operation name="reminderOccurred" parameterOrder="String_1 TaskVO_2">
<input message="tns:OutlookServer_reminderOccurred" />
<output message="tns:OutlookServer_reminderOccurredResponse" />
<fault message="tns:NoSuchUserException" name="NoSuchUserException" />
</operation>
</portType>
- <binding name="OutlookServerBinding" type="tns:OutlookServer">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="addTask">
<soap:operation soapAction="" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</output>
- <fault name="NoSuchUserException">
<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</fault>
</operation>
- <operation name="getContactList">
<soap:operation soapAction="" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</output>
- <fault name="NoSuchUserException">
<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</fault>
</operation>
- <operation name="getList">
<soap:operation soapAction="" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</output>
- <fault name="NoSuchUserException">
<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</fault>
</operation>
- <operation name="reminderOccurred">
<soap:operation soapAction="" />
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</output>
- <fault name="NoSuchUserException">
<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
</fault>
</operation>
</binding>
- <service name="OutlookReminderService">
- <port binding="tns:OutlookServerBinding" name="OutlookServerPort">
<soap:address location="http://truptid:8080/outlook-reminder-service/outlook" />
</port>
</service>
</definitions>
My client is :
private static String BODY_NAMESPACE_VALUE = "http://ws.abc.com/outlook-reminder";
private static String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
try{
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName("OutlookReminderService"));
QName port =new QName("OutlookReminderService","OutlookServerPort");
Call call =service.createCall(port);
call.setTargetEndpointAddress("http://localhost:8080/outlook-reminder-service/outlook?wsdl");
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
call.getReturnType();
call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "getList"));
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
call.addParameter("String_1", QNAME_TYPE_STRING, ParameterMode.IN);
//http://ws.aftek.com/outlook-reminder/schemas
QName QNAME_TYPE_VO = new QName("http://schemas.xmlsoap.org/soap/encoding/", "Array");
System.out.println("Before Add Parameter");
// call.addParameter("result", QNAME_TYPE_VO, ParameterMode.OUT);
call.setReturnType(QNAME_TYPE_VO,ArrayList.class);
System.out.println("After Add Parameter");
Object[] params ={oUserVO.getUserName()};
oArrayList =(ArrayList)call.invoke(params);
System.out.println("After Invoked");
//System.out.println("invoked"+ arrayList);
catch(SOAPFaultException faultException)
moLogger.debug("SOAPFaultException : ", faultException);
catch(RemoteException oremoteException)
moLogger.debug("RemoteException", oremoteException);
catch(ServiceException oServiceException)
moLogger.debug("ServiceException", oServiceException); }
Error got is :
trailing block elements must have an id attribute
at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deserializeMultiRefObjects(SOAPDeserializationContext.java:81)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:239)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:103)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:492)
at com.ail.dhg.poc.business.dao.ContactDAO.getList(ContactDAO.java:255)
at com.ail.dhg.poc.business.facade.ContactFacade.getList(ContactFacade.java:189)
at com.ail.dhg.poc.business.AcceptInput.main(AcceptInput.java:72)
java.lang.NullPointerException
at com.ail.dhg.poc.business.dao.ContactDAO.getList(ContactDAO.java:277)
at com.ail.dhg.poc.business.facade.ContactFacade.getList(ContactFacade.java:189)
at com.ail.dhg.poc.business.AcceptInput.main(AcceptInput.java:72)
Message was edited by:
trupti_dUse lower case letters for your variable names (name, pwd). The code works then.
package com.bluenile.bean;
import java.io.*;
public class Bean1 implements Serializable
private String name="Uname";
private String pwd="Pword";
public String getName()
return name;
public String getPwd()
return pwd;
void setName(String name)
this.name = name;
void setPwd(String pwd)
this.pwd = pwd;
<HTML>
<BODY BGCOLOR="#FFFFFF">
<%@ page language="java" contentType="text/html" %>
<jsp:useBean id="b1" class="com.bluenile.bean.Bean1" />
<ul>
<li>Name : <jsp:getProperty name="b1" property="name" />
<li>Pwd : <jsp:getProperty name="b1" property="pwd" />
</ul>
</BODY>
</HTML> -
Call a method with complex data type from a DLL file
Hi,
I have a win32 API with a dll file, and I am trying to call some methods from it in the labview. To do this, I used the import library wizard, and everything is working as expected. The only problem which I have is with a method with complex data type as return type (a vector). According to this link, import library wizard can not import methods with complex data type.
The name of this method is this: const std::vector< BlackfinInterfaces::Count > Counts ()
where Count is a structure defined as below:
struct Count
Count() : countTime(0) {}
std::vector<unsigned long> countLines;
time_t countTime;
It seems that I should manually use the Call Library Function Node. How can I configure parameters for the above method?You cannot configure Call Library Function Node to call this function. LabVIEW has no way to pass a C++ class such as vector to a DLL.
-
++Custom Serialization with Complex Data type (Nested Classes)
Hi,
We have a scenario wherein we need to write CUSTOM SERIALIZERS for complex datatypes like INVOICE & ORDER (INVOICE inturn has ADDRESS type among others, ORDER has ADDRESS type, a COLLECTION of type ORDERITEM each of which are Java Classes in themselves)
The example of Custom Serializer given in the SOA AS Dev Guide http://download.oracle.com/docs/cd/B31017_01/web.1013/b28975/custserial.htm#CFHHIBCA)
shows only a simple java type used for serialization and deserialization.
Can anyone please help us out by sharing any example depicting the CUSTOM SERIALIZERs for COMPLEX DATA TYPES?
Thanks in advance,
Pavan.Hello,
Could you please post the code of your classes in the forum (at least the interfaces) ?
Regards
Tugdual Grall -
hi
i am trying to create a user type AGENT. i did it but when user created and assigned to AGENT. when i click on submitt button it showa an error
IAM-3050056 : The specified value Agent for attribute Role is not one of the predefined values
please solve the problem. and tell the process how to cretae in 11g
regards
avinashAfter adding this value in Lookup, you need to restart of OIM server is nee ded
-
How to change a label of User Type in OIM 11g
How to change a label of User Type in OIM 11g. If we have to change label of First Name or Last name then we can change in User.xml and some in resource properties file but what is the procedure to change for User Type.
Follow this: http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14309/uicust.htm#BABDEGFE
i .Copy the $OIM_ORACLE_HOME/server/apps/oim.ear/admin.war/WEB-INF/lib/IdentityTaskFlow.jar to a local work directory, unzip it and locate UserAttributes.properties at /oracle/iam/resources/IdentityTaskFlow.
ii. Update the userAttributes.properties file in the IdentityTaskFlow.jar/oracle/iam/resources/IdentityTaskFlow and create a new IdentityTaskFlow.jar
iii. Copy the updated IdentityTaskFlow.jar to $OIM_ORACLE_HOME/ server/apps/oim.ear/admin.war/WEB-INF/lib/
For "User Type", try putting the property name as "user_type" or try "role". One should work.
HTH,
BB -
Issue with "unknown user type 6" on Coherence 3.5.2
Having an issue with a cluster which is running using an internally developed cluster starter tool. This tool, and the associated cluster, all use POF, and upon attempting to connect a non-storing member to the cluster from java, the following exception is raised...
2011-07-11 15:54:58.338/2.469 Oracle Coherence GE 3.5.2/463p2 <Error> (thread=Cluster, member=n/a): This cluster node is
configured to use serializer com.tangosol.io.pof.ConfigurablePofContext {location=application-pof-config.xml}, which ap
pears to be different from the serializer used by Member(Id=1, Timestamp=2011-07-11 15:34:30.779, Address=10.74.82.193:8
088, MachineId=11188, Location=site:INTRANET.BARCAPINT.COM,machine:ldnpsm020006423,process:80976,member:ldnpsm020006423:
cacheserver:1).
java.io.StreamCorruptedException: unknown user type: 6
at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3289)
at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2600)
at com.tangosol.io.pof.ConfigurablePofContext.deserialize(ConfigurablePofContext.java:348)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.readObject(Service.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$ServiceConfigMap.readObject(Grid.CDB
:1)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$MemberConfigResponse.read(Grid.CDB:1
3)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:123)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onNotify(ClusterServi
ce.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
There is no serialiser configured in the cache config, instead we just set tangosol.pof.enabled=true, and set the pof config file to what is seen above. The thing which is very confusing about this error is that unlike other clients which we connect, and in fact the servers they connect to, this client never attempts to load the cache configuration file. The point at which this should happen, prior to pof loading, shows:
2011-07-11 15:54:57.260/1.391 Oracle Coherence GE 3.5.2/463p2 <Info> (thread=Main Thread, member=n/a): Loaded cache conf
iguration from "jar:file:/C:/Program%20Files/Oracle/coherence/3.5.2b463P2/lib/coherence.jar!/reports/report-group.xml"
I have tried every combination of classpath entries I can think of, and no matter what, it never shows an attempt to load the application-cache-config.xml supplied in the startup. Does anyone have any experience with something like this?I guess your non-storing JAVA code does not specify -Dtangosol.pof.enabled=true and the -Dtangosol.pof.config =<POF file location> on joining the cluster. Post the startup java command and the complete logs.
If application-cache-config is not loaded then coherence-cache-config.xml should be loaded by default and set -Dtangosol.coherence.cacheconfig=<application-cache-config>
Cheers,
NJ -
How to get values of complex data type specified in webservice wsdl file
I'm trying to retreive cid from a complex data type[b] course which I'm getting as response from the webservice, it throwing that cid is not valid .
<course>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
<syncbpelResponse xmlns="http://acm.org/samples">
<course>
<startDate xmlns="urn:cms_soa">2005-12-11T18:30:00.000Z</startDate>
<materialid xmlns="urn:cms_soa">234</materialid>
<cdescription xmlns="urn:cms_soa">learn spoken english</cdescription>
<instructorid xmlns="urn:cms_soa">145</instructorid>
<regEndDate xmlns="urn:cms_soa">2005-11-30T18:30:00.000Z</regEndDate>
<cid xmlns="urn:cms_soa">12222</cid>
<cfee xmlns="urn:cms_soa">1000.0</cfee>
<strength xmlns="urn:cms_soa">20</strength>
<currentStrength xmlns="urn:cms_soa">2</currentStrength>
<endDate xmlns="urn:cms_soa">2005-12-30T18:30:00.000Z</endDate>
<cvenue xmlns="urn:cms_soa">ELNET</cvenue>
<cname xmlns="urn:cms_soa">english</cname>
</course>
</syncbpelResponse>
</part>
</course>
I tried using
<from variable="course" part="payload" query="/tns:syncbpelRespons/tns:course/@cid"/>
but not at all accepting....
I 'll be thankfull if u send me a responseHi
This can not be done Vc only "sees" the returned data in the webservice, it can not access the meta data from the webservice.
Jarrod -
Complex xml types in a web service request
Hello,
I'm a newcomer to APEX and wondered how to create complex data types in a web service reference, and how to address these fields from a page item type. I have a wsdl containing nested lists of strings and don't know how to solve this in APEX, can anyone help me?hi Jonjeao,
i too searching the steps and refrerences for my project.
i found the solution from
http://www.oracle.com/technology/products/database/application_express/pdf/Using_Oracle_Application_Express_to_Interact_with_XML-RPC_Style_Web_Services.pdf
please try your url with xml to web service.
Thanks
~Logaa
Edited by: Logaa on Apr 2, 2009 1:35 AM -
Binding ADF UI to a complex XML Type – Development Productivity, State Mgmt
Binding ADF UI to a complex Web Service – Development Productivity, Managing State, Etc.
For those scenarios when ADF UI has to be bound to a complex XML type, it seems that the direction taken by the ADF development team was to generate data-controls that map to complex XML types.
The major problem with this approach is the fact that application server does not manage state. For example, If application has to submit a purchase order to a web service then application server has to manage the shopping card state until its ready to be submitted.
In some previous forum threads it had been suggested that using generated data-controls is a “quick and dirty” solution for accessing web services and that a proper solution is to use generated Java Proxy Interface.
That implies many manually constructed entity objects, associations and overridden doDML methods, which is far less productive compared to entity objects generated from a database schema.
Suggestion and a Question for the ADF development team
From the logical model standpoint, there is no difference in between the XML schema and DB schema. Therefore, it is possible to generate entity objects and associations for XML Types of XML schema the same way it’s done for tables of Database schema. The only difference is serialization of CRUD operations on entity objects.
One way to handle this is:
- Generate Application Module for a complex XML type. This application module should have methods for marshaling to/from corresponding XML type.
- Generate entity object for each subtype within the complex XML type. In case of nested subtypes, generate association to a parent type.
- Generate data control with actions that are bound to web service operations and code that serializes request message from corresponding AM and de-serializes response message to corresponding AM.
This way, ADF would offer the same productivity for the SOA development as one its currently offering for the ORM development.
Until the time when something like this is available, what would be the best approach for binding ADF UI to web services?
Feedback is greatly appreciated.
Boro Petrovic
Edited by: wds12518 on Jan 25, 2010 11:49 AMWe have similar issues as our big portion of the UI is based on WS. We found that there is no easy way to map entity object structure to complex XML type (one EO can based on one flat type or domain can't be bound to UI directly). Oracle PMs, is there any better solution or future plans to address this issue?
Maybe you are looking for
-
What is the best way to set up one family imac with multiple iphones?
We basically have one imac that we all use (one user account). We also have our own iphones with our own apple id. What i would like to get my head around is setting up each iphone individually to use itunes.(i.e music, videos, contacts). It seems th
-
Please help me in setting the Mobile server for mobile filed services
hi, We want to set the oracle mobile server, Oracle mobile filed service, can any body help out what are the mandatory setups and flow of the setup. Can you also let me know the list of patch and requried services information too. Thanks & Regard Abd
-
Save as pdf 1.7 and above in preflight - fixups missing?
Why is the highest version number just 1.6, in the list of available "Save as pdf" fixups? I'm running CC, Acobat XI pro. Is it just not recommended to use higher versions? If that's the case, I'll stick to 1.6. The customer that I'm making this pref
-
How 2 set up family account/de-ectivate it Moderator's note: We have amended the title of this post as this was moved from another thread. Solved! Go to Solution.
-
Values disappearing in my JSP page
HI Guys i am stuck with a problem for which i need your help.i will list my query below In my JSP i am having a combo box from which i can select values needed for data manipulation and navigation to other page.Firstly i select a value from the combo