Is outside-in without EJB's possible?
Is it possible to create a web service from a wsdl (outside-in approach) without EJB's involved. in CE7.1
Regards
ABS
Yes, you can but manually. There is no such easy tool as for EJBs in NetWever Developer Studio(NWDS).
Using the the NWDS you can generate automaticaly Outside-In web service sceletons but only with EJB endpoints.
Maybe you have already read that page:
http://help.sap.com/saphelp_nwce10/helpdata/en/46/7f2fef88190ad3e10000000a11466f/content.htm
But if you need a servlet-based web service and you want to start from the WSDL, you can do it manually by creating a pure java class in web project and than adding the annotations with values corresponding to the one from the WSDL. In this case you will need some more knowlage in web services area.
I hope that explainations help you.
Regards,
Yulie.
Similar Messages
-
Session Facade Pattern without EJB
All of the session facade pattern examples that I can find are heavily emphasized on EJB. I am planning on implementing a system without EJB's, and am interested in the advantages of using the Session Facade pattern.
Are there any good examples of using the Facade pattern outside of EJB to build a java server system? If there aren't, is there a better way to implement this type of strategy in a non-EJB system?What is the best way to allow the client to
interact
with Entity objects, without exposing them. ShouldI
implement Value objects that are easily serialized
for transfer across the network?
If you are not using EJB or a distributed
architecture, you do not need DTO's or VO's. They
are an odious construct used to obviate the
shortcomings of remote method calls over anetwork.
I strongly disagree.
They are an obvious and easy model used when the
following characteristics of a system exist.
- Different layers.
- Related data items that are moved throughout the
layers.
- Different usage of the related data items by
different layers.
Yes, I agree. Note the qualification 'if you are not using a distributed architecture'.
None of that has anything to do with remote method
calls over a network. Point of fact the first time I
used them was in a stand alone application with no
network traffic except that needed by the database
driver itself.
Simply create your domain model objects as POJO's
s (plain ole Java objects). Persist and retrieve
your objects via DAO's (data access objects).Your
service layer (facade) will sit on top of thedomain
model, encapsulating method calls into logicalunits
of work.
And how exactly do you move the customer
name/customer address from the DAO to the GUI level?I am assuming the dedicated remoting product the OP specifid, Hessian, will handle moving between the tiers, or at least between the controller/view and the business tier.
- Saish -
Anyway to use quartz to schedule jobs without EJB
Hai all,
I had a web application in jsp where i need to send automatic mails at regular intervals of time.For this scheduling process i had decided to use quartz. But i had too develop some ejb's for this purpose.As i am using tomcat server it's not possible for me to use EJB's. So is there any other way i can use quartz without ejb's to run a scheduled task?.
I request your kind help and suggestions in this regard.
Thank you.According to the iPod nano (5th generation) - User Guide you can video tape in landscape or portrait mode. By default, it is oriented in portrait mode (240x376), but due to an accelerometer, automatically switches to landscape mode (376x240) when rotated.
When I hold the cam vertically, the recorded videos are sometimes in portrait mode with borders but not always. When I hold the cam horizontally (landscape), the recorded videos are always borderless.
Which way are you holding the camera when you get videos with borders? -
Using DAO ,TO Pattern without EJB
Hi,
I am developing a web application without EJB. I understand those patterns need not use EJB framework. However, it smees to me that without EJB, the role of TO may be simpler.
In my design, the meaning of TO is to separate the layer between business tier and data access tier. Upon doing some back-end enquiry, the DAO create related TO which can be translate to the business / veiw objects. And the caching will be done on Web tier but not TO layer instead.
Am I right? Would you please give some comments? Thanks a lot.What is the best way to allow the client to
interact
with Entity objects, without exposing them. ShouldI
implement Value objects that are easily serialized
for transfer across the network?
If you are not using EJB or a distributed
architecture, you do not need DTO's or VO's. They
are an odious construct used to obviate the
shortcomings of remote method calls over anetwork.
I strongly disagree.
They are an obvious and easy model used when the
following characteristics of a system exist.
- Different layers.
- Related data items that are moved throughout the
layers.
- Different usage of the related data items by
different layers.
Yes, I agree. Note the qualification 'if you are not using a distributed architecture'.
None of that has anything to do with remote method
calls over a network. Point of fact the first time I
used them was in a stand alone application with no
network traffic except that needed by the database
driver itself.
Simply create your domain model objects as POJO's
s (plain ole Java objects). Persist and retrieve
your objects via DAO's (data access objects).Your
service layer (facade) will sit on top of thedomain
model, encapsulating method calls into logicalunits
of work.
And how exactly do you move the customer
name/customer address from the DAO to the GUI level?I am assuming the dedicated remoting product the OP specifid, Hessian, will handle moving between the tiers, or at least between the controller/view and the business tier.
- Saish -
Activity price calculation without activity not possible.
Hi,
I got the following error when I execute KSII ;
Activity price calculation without activity not possible.
Message no. KP230
Diagnosis
A program error occurred during activity price calculation. The SAP System could not determine the activity price for activity type 250902 in cost center 25093015 because only costs were entered, not activity quantities. The SAP System calculates the activity price by dividing the costs by the activity quantity.
System Response
The SAP System sets the activity price to zero.
Procedure
Inform your system administrator.
Please advice why the error occured?Hi SAP Genes,
I am finding an error in One of our Product line "HPI India" where our Cost of Sales Accounting actual COGS cost is very less in comparison with the standard as in the past.as it is marked, as expected as we set it up in the begining of the Year we use Standard Cost we use Aug-July FY, only we are facing this error for this FY 11-12.
Please take a look at the COGS for HPI. which is marked in Blue all these cost are Highlited, The actual COGS cost is very less in comparison with the standard as in the past.
And for rest of the Product Line item is working fine,
Please suggest me the cause, i am attaching the Analysis sheet as well for your guidance.
Regards,
Vijay -
Is the extraction without Transfer rule possible?
Can you help me out for this question.
Thanks in advance
Kay
Is the extraction without Transfer rule possible?Until the version 3.x we need transfer rules for physical transfer of data.
-
How to define your own context in an EJB environment - possibly distributed
I would like to setup a context (an object accissible per logical thread) in an EJB environment, but I am too unfamiliar with the options I may have.
My objective is to create a context in which I may set a value, then invoke a method on an object (which in turn invokes a method on another object and so forth) and eventually get back the value from the context. In other words I am trying to pass a value without passing it as a parameter. More specifically, I have written a JDBC Driver wrapper in which I want to intercept a number of method calls and based on the context settings perform one or the other JDBC preprocessing. The reason for not passing the values as parameters is to interfere as little as possible with any environment in which this code is to be integrated. I simply want to set the context and get the context (in my JDBC wrapper) without the surrounding code needing to change.
I have succeded partially by using a ThreadLocal object to hold my context. I can set and get the values to and from the context and actually pass values to my Driver wrapper without explicitly passing them as parameters. This works well in a non-EJB environment. My concern arises when I switch to the EJB environment.
If my context is set in a session bean, which invokes an entity bean, am I then guaranteed that these will execute in the same physical thread?
If the session and the entity beans are hosted on seperate machines then the answer would certainly be NO. Is there any way to have the container manage the context and propagate it accross containers when needed?
Any thoughts or suggestions on this topic are wellcome, even if they don't solve the issue entirely.
Looking forward to hear from you all!
/poulIn an EJB environment, you have absolutely no control over threading issues. (It was purposefully designed that way.) However, you do have your own little "sandbox" in the EJB ClassLoader - which is why there is a lot of use of the Singleton pattern for factories and (very carefully!) as small caching mechanisms. You might want to look into that avenue - but you have to know how your EJB vendor's ClassLoader scheme works (there does appear to be a convergence in this area) and you must be very sensitive to potential thread-blocking operations that may take a while to complete.
-
hello
i want to ask how can i use the J2EE container without implementing EJB's. i just want to use servlets, JSP, and classes. is this possible and how can i find info about this. thanx
Feras
[email protected]Hi Feras,
The purpose of a J2EE container (such as OC4J) is to execute J2EE applications. A J2EE application is comprised of modules. There are basically two types of modules: "client" and "ejb". A J2EE application can contain any combination of modules -- therefore it may only have a single "client" module (and no "ejb" module -- for example).
Have you not read the available documentation? For the latest version of OC4J, the documentation is available from:
http://otn.oracle.com/docs/products/ias/doc_library/903doc_otn/index.htm
And there is also the J2EE specification and related documentation, that is available from:
http://java.sun.com/j2ee
Hope this answers your question.
Good Luck,
Avi. -
Hi,
I am building a web service that will need to access 3 databases.
Therefore, I need to use JTA to manage the transaction.
I am trying to apply JTA without using EJB, Is that possible?
My code is like this:
UserTransaction userTransaction = (UserTransaction)inititalContext.lookup("java:comp/UserTransaction");
try
userTransaction.begin();
someDAOMethod();
userTransaction.commit();
catch(Exception ex)
Exception was encountered with at the userTransaction.commit() line, and the exception message is:
Caused by: javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = myDS
I have tried to change the transaction setting to EmulateTwoPhaseCommit, the same error happens after the restart.
When I try to change it to LoggingLastResource, WebLogic cannot start at all.
How can I do and is there anything I have done wrongly?
Thanks in advance.Hi Joe,
Yes, I have 3 data sources through JNDI.
My DBMSes are all oracle, but of different versions, they are 8i, 10g and 11g.
Driver: oracle.jdbc.OracleDriver
I have tried to change the 11g's driver to oracle.jdbc.xa.client.OracleXADataSource, but the same error still appear.
By the way, I am using hibernate, so I have added the following properties into my 3 hibernate.cfg.xml files:
<property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</property>
<property name="current_session_context_class">jta</property>
Appreciate your help.
Let me know if you need me to provide more information.
Thanks! -
JDBC, JMS and EJB transactions - possible problem?
Hello,
I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
XDoclet.
In my current project I have the following piece of code
in one of my message driven beans (code cited as pseudocode
without unnecessary details):
* @ejb.bean name="MyMessageProcessor"
* display-name="Display name for a MyMessageProcessor"
* jndi-name="ejb/MyMessageProcessor"
* description="Bean MyMessageProcessor"
* destination-type="javax.jms.Queue"
* transaction-type="Container"
* acknowledge-mode="Auto-acknowledge"
* subscription-durability="Durable"
* generate="false"
* @ejb.transaction type="Required"
public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
public void onMessage(Message msg) {
try {
//obtaining connections to two different databases via JNDi
java.sql.Connection connOne =
((DataSource)ctx.lookup("DataSourceOne")).getConnection();
java.sql.Connection connTwo =
((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
// performing some UPDATEs and INSERTs on connOne and connTwo
// calling some other methods of this bean
//creating the reply JMS message and sending it to another JMS queue
Message msgTwo = this.createReplyMessage(msg)
this.queueSender.send(msgTwo);
//commiting everything
this.queueSession.commit();
} catch (Exception ex) {
try {
if (this.queueSession!=null) this.queueSession.rollback();
} catch (JMSException JMSEx) {};
this.context.setRollbackOnly();
Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
connection pool with non-XA jdbc driver. Everything worked fine
including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
to database and the incomming message was thrown back to the my bean's
queue).
When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
participate in a global transaction. When I changed both datasources
to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
and the JMS message wasn't resent to the JMS queue.
So here are my questions:
1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
Are there any global server configurations, which may influence this situation?
2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
(of course, if necessary)?
3. Are there any JMS Queue settings, which would disable the container to send message back to the
queue in case of setRollbackOnly()? How should be the Queue configurated?
As I am new to the topic and the deadline for the project seems to be too close I would be grateful
for any help.
This message was sent to EJB list and JDBC list.
Sincerely yours,
Marcin ZakidalskiHi,
I found these information extremely useful and helpful.
The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
Anyway, I still have some problems. I have made some changes to the
code cited in my previous mail. These changes included changing QueueSessions
to non-transactional. I also set the "Honorate global transactions" to true.
I am using XA JDBC driver. After setting "Enable local transactions" to false
(I did it, because I assume that JDBC transactions should be part on the global
EJB transaction) I got the following error:
java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
driver supports performing SQL operations with no global transaction, explicitly allow it by setting
"SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
My questions are as follows:
1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
from doing that? Can using setAutocommit(true/false) change the situation for better?
2. How to encourage the JDBC driver to be a part of EJB transaction?
3. As I have noticed each of ejb method has its own transactions (transactions have different
Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
way that if already started transaction exists it is used by the called method?
4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
solved programmically?
Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
I am loosing the ability to perform all actions in one transaction.
Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
Marcin -
File Sender without Sender agreement- Possible?
Hello
It may seems bit unusual but i am having requirement in which the file sender adapter is expected to trigger the OS level command in which it gets the file from SSH server in the XI polling directory and then XI File adapter would pick up that file.
Now it has been observed that, XI File adapter doesn't execute OS level command in its poll cycle unless it creates message which means XI would expect some file (atleast a dummy file) in its polling directory.
Since this is not possible, we thought of creating the second adapter which will poll the dummy file of say 0 KB and call the OS level command which will get the files from SSH server and then the second adapter would poll the actual file.
Since second adapter would serve just as the trigger channel, its not expected to have any sender interface associated with it and hence it should poll the file without any sender agreement. can this be possible?
thanks in advance.
regards
rajeevHi,
Actually i tried that earlier but it didn't help.
It does executes command before or after but that only when it creates a message and it doesn't create message unless we have suitable sender agreement.
Actually i tried with dummy message interface (without actual message interface in IR) and that works but it fails in MONI and generates the error message as no suitable receiver found which i wanted to avoid.
Thanks and Regards
Rajeev Patkie -
Setting db isolation level on transaction without EJB
I'm using UserTransaction in the servlet container, to control XA transactions.
We're not using EJB. How do I set the database isolation level? I'm tempted
to use java.sql.Connection.setTransactionIsolation(). However, the Sun Javadoc
for that method says you can't call that after the transaction has started (which
makes sense). Right now, we're starting the transaction, getting a connection,
closing the connection, and committing the transaction. I guess that order won't
work if I want to set the isolation level. Or am I mixing apples and oranges
here? If I use UserTransaction, is it even appropriate to try to set the isolation
level on the connection?
All I really want to do is change the default isolation level. We do not need
different isolation levels for different use cases. (Not yet, anyway.) We might
have transactions against two different database instances or other resource managers.
That's why I want to use UserTransaction and XA transactions.
Thanks!
Steve Molitor
[email protected]
Only committed transactions are replicated to the subscriber. But it is possible for the report to see dirty data if running in READ UNCOMMITTED or NOLOCK. You should run your reports in READ COMMITTED or SNAPSHOT isolation , and your replication
subscriber should be configured with READ COMMITTED SNAPSHOT ISLOATION eg
alter database MySubscriber set allow_snapshot_isolation on;
alter database MySubscriber set read_committed_snapshot on;
as recommended here
Enhance General Replication Performance.
David
David http://blogs.msdn.com/b/dbrowne/ -
JNDI tree access for code outside servlets and EJBs and JSPs
Can code outside EJBs, Servlets and JSPs have access to the JNDI tree?
For example, in a web application, web.xml has a env-entry declaration which I want to access from a POJO which is called by a JSP in the web app. Is this permissible?Can code outside EJBs, Servlets and JSPs have access
to the JNDI tree?
For example, in a web application, web.xml has a
env-entry declaration which I want to access from a
POJO which is called by a JSP in the web app. Is
this permissible?Yes. Read the JNDI tutorial. -
WSDL/client-stub generation without EJBs ?
My WL7 application invokes methods on external subscriber
web-apps. I need to provide WSDLs for these external apps, since
they'll be implemented by our customers.
Currently, I create 'dummy' EJBs, then create .ears out of it,
run 'servicegen' to create a dummy webservice, then run
'clientgen' to create the WSDLs and the client stub classes
that I'll finally use. I'd like to avoid some of the above
steps. Ideally, I'd just create the appropriate Java interface
classes, then use some tool to create the WSDL and the
client-stub classes. Is this possible ?
-johnHi John,
Have you considered using a WSDL generation GUI, such as
http://www.omniopera.com/omniopera.html
Bruce
BTW, you do realize that when a webservice is deployed on WLS v7, the
WSDL is available to anyone using
http://<host>:<port>/<context_url>/<webservice>?WSDL
john wrote:
Bruce, I'm not sure how I would use those other tasks to obtain
what I want. AFAIK, the only way to generate a WSDL for a service
is to use the 'clientgen' task. And the clientgen task requires
the actual webservice implementation in the form of a .ear
file.
In my case, I need to create WSDLs which I then pass on to
my customers, for them to implement and host. Currently, to do
this I have to myself implement the desired dummy webservice
and then use clientgen to obtain the WSDL (along with the
stubs etc ..)
thanx
-john
Bruce Stephens <[email protected]> wrote:
Hi John,
In addition to the servicegen and clientgen ant tasks there are now
several other narrowly focused ant tasks such as autotype, and
source2wsdd. Check out the documentation:
http://edocs.bea.com/wls/docs70/webserv/assemble.html#1011066
Hope this helps,
Bruce
john wrote:
My WL7 application invokes methods on external subscriber
web-apps. I need to provide WSDLs for these external apps, since
they'll be implemented by our customers.
Currently, I create 'dummy' EJBs, then create .ears out of it,
run 'servicegen' to create a dummy webservice, then run
'clientgen' to create the WSDLs and the client stub classes
that I'll finally use. I'd like to avoid some of the above
steps. Ideally, I'd just create the appropriate Java interface
classes, then use some tool to create the WSDL and the
client-stub classes. Is this possible ?
-john -
BO FConsolidation without account hiarchy possible?
Hello friends
I have a verry special question: Is it possible to setup a BOFC system including equity- and debt-consolidation without any account hirarchy?
Background: My client is using SAP FI. All reporting units have one company code in sap. In SAP is no account hierarchy just the balance sheet and income statement structure. The aim is to have one chart of accounts for all company codes in SAP and the same chart of accounts for consolidation with BO FC.
It is neccessary to create the accounts in BO FC to build up the hirarchy? What are advantages? What are disadvantages?
Cheers
UdoDear Udo,
it is completely possible to build a chart of accounts in BFC without using the hierarchy rollup functionality. For your information, until the (recent) release of the IFRS starter kit, the previous SAP IFRS/French standard was not using it.
In my opinion the account rollup functionality is really optional, particularly if you are using BFC for statutory consolidation only. Seting up the functionality is more time consuming, and the benefice for end users is rather limited. Indeed you can use retrieval characteristics in order to obtain similar result in terms of account sub-totals for your financial statements. And the people in charge of consolidation generally prefer to use flat balances when they need to analyse figures in detail. Moreover if you really want to use all the possibilities that offer the hierarchy rollup in the schedules, you need to design specific reports with hierarchy-based initialization.
The account hierarchy rollup can be interesting for management reporting where users want to easily retrieve key P&L or balance sheet agregated figures, for Excel link files (sub-total accounts can be directly refered to), for Analytics (where the drill functionality is only meaningful with hierachy rollup), when you have lot of intermediary sub-total levels (saving the creation of numerous sub-characteristics) or if you have to manage two charts of accounts (eg.: detailed for year-end closing and agregated on a monthly basis).
Regards.
Maybe you are looking for
-
Relative Path for swf skin, is it set by DW or Flash
Hello, I have a simple video swf file with skin (swf) in my site inside a folder (video folder). In the video folder there is video.swf, flv file, and skin.swf. When I test the html file it looks for siteroot/videofolder/video.swf siteroot/videofolde
-
I have a diffent i pod my girl friend doesnt use i think its a classic or a nano. I pluge in my i pod and its redy to add music from my libary. When i plug this one in all it does is charge how do add music to it?
-
Help requested: How to pass the (check box) selected rows data to other scr
Hi friends, Here is a situation where I have to pick only those records data which i select by checking the check boxes and carry on to next screen where I have to display them and do some processing on such selected rows of data. Can any one suggest
-
How to save zero in BPC ?
Hi Experts, Can anyone guide how to save zero in BPC ? I tried changing default values but didnt work. So, Please help on this. Thanks Natasha
-
Moving a Single Instance database to RAC.
Gurus, Can some one share some info on how to move a single instance database to a RAC. Any help is appreciated. Thanks.