deployment
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 hi for the next project i am working on i am evaluating the currently available soap implementations. because we are using unix as a host system and we are working in a pure-java environment i am looking especially for java impls of soap. also it should incooperate with jboss or hp bluestone. and there are only a few impls available. glue (hm, to heavy for us), axis (still alpha), and soap4j (based on the xml soap). so there is only the apache soap in the list for evaluation. so i have downloaded the apache soap 2.2 and jboss 2.4.4 with tomcat 4.0.1 and followed the installation instructions. also tried the samples and everything seemed to be fine. but i have still one big problem: the services currently in use have been deployed with the interactive deployer tool or with the admin web page. but this is not very useful if this is a production environment and everything should happen automagically. and the use of a command line tool is not very automagically. is there no way about defining the services in a deplyment descriptor or a configuration file? the binary deployedservices.ds is IMHO not a solution. and the other not so urgent question: why have the service classes to be in the classpath and on the other hand happens the deployment dynamically? i think this a problem in the concept of the soap implementation. any ideas? TIA, goofy -BEGIN PGP SIGNATURE- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org Filter: gpg4pine 4.1 (http://azzie.robotics.net) iD8DBQE8PtfRrMda10jkyDYRAvsgAKCSljvXrnkfLS+37No5vzkvMyl/hQCaA5oe UwT6A4rcePEjDyZ8uoMaTfI= =d5a1 -END PGP SIGNATURE-
SOAP over MQ Series
Please help - any one with any information. I am writing a book for Prentice Hall and need to include examples of SOAP running over MQSeries (or JMS) rather than HTTP. I'm trying to work with IBM's MA88: MQSeries Classes for Java, but can't get the software to run. Please let me know if you have any expreience with MQSeries Classes for Java - or know anyone who does. Also, if you know of another way to run SOAP over MQ, please let me know. My environmenment is: J2EE Server: Sun J2SDKEE1.3 (reference implementation) JDK: Sun JDK1.3.1_01 SOAP: Apache 2.2 OS: Win 2K Pro TIA, Mark Hansen tel (888)-360-7285 email: [EMAIL PROTECTED] = __ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/
Soap questions.
I have a couple of questions about SOAP. I want to use SOAP messages (using envelopes etc. not SOAP-RPC). So, 1. I have the following line to receive SOAP messages: BufferedReader resReader = transport.receive() What if there is no message, what happens? Also, do i need to do transport.receive() to receive each message as i might get more than one? If i am going to receive a large amount of messages, would it be better to have this code in a new thread or get the SOAP message and then process it in a new thread? 2. I have this bit of code to send some XML back in a SOAP message. StringWriter writer = new StringWriter(); env.marshall(writer, null); res.setRootPart(writer.toString(), text/xml); It seems to me that the above code is simply sending a blank StringWriter object? Thanks in advance, Sandeep. - E-mail Confidentiality Notice and Disclaimer This email and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to which they are addressed. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited. E-mail messages are not necessarily secure. Hitachi does not accept responsibility for any changes made to this message after it was sent. Please note that Hitachi checks outgoing e-mail messages for the presence of computer viruses. -
Deserialize a complicated fault object
Hello everybody, I'm trying to send a complex exception using SOAPs fault handler. This exception contains various data (so the Exception supports getLocalizedMessage() in various languages). It was easy to get this message serialized by extending ExceptionFaultListener, but I did not find an easy way to reconstruct the Exception again. Writing a deserializer all on my own seems quite much work and a complete waste of time, since there are deserializers - but how can I access them? I've written deserializers implementing the Deserializer interface, but I do not know how to write one without those helping objects like XMLJavaMappingRegistry. Thanks, Moritz (MGM-EDV Beratung, Munich, Germany)
RE: SOAP over MQ Series
Bill, I am glad to read you have covered SOAP over SwiftMQ. I have placed an order for your book. Does your book also cover interop of complex datatypes such as objects, files esp between Apache SOAP server and MSFT clients. Mahendra -Original Message- From: William Brogden [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 8:07 AM To: [EMAIL PROTECTED] Subject: RE: SOAP over MQ Series -Original Message- From: Mark Hansen [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 10:00 AM To: [EMAIL PROTECTED] Subject: SOAP over MQ Series Please help - any one with any information. I am writing a book for Prentice Hall and need to include examples of SOAP running over MQSeries (or JMS) rather than HTTP. I'm trying to work with IBM's MA88: MQSeries Classes for Java, but can't get the software to run. Please let me know if you have any expreience with MQSeries Classes for Java - or know anyone who does. My SOAP book (out next week) has an example of SOAP using JMS - I used the SwiftMQ version from this page: http://www.swiftmq.com/download/index.html Also, if you know of another way to run SOAP over MQ, please let me know. My environmenment is: J2EE Server: Sun J2SDKEE1.3 (reference implementation) JDK: Sun JDK1.3.1_01 SOAP: Apache 2.2 OS: Win 2K Pro TIA, Mark Hansen tel (888)-360-7285 email: [EMAIL PROTECTED] = [EMAIL PROTECTED] Author of Soap Programming with Java - Sybex; ISBN: 0782129285
RE: Deserialize a complicated fault object
Don't be scared of serializers/deserializers. They're easy, and worth it for the extra control they provide. Try one with a simple object with one property. Just a suggestion. -Chris -Original Message- From: Moritz Hammer [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 12:09 PM To: [EMAIL PROTECTED] Subject: Deserialize a complicated fault object Hello everybody, I'm trying to send a complex exception using SOAPs fault handler. This exception contains various data (so the Exception supports getLocalizedMessage() in various languages). It was easy to get this message serialized by extending ExceptionFaultListener, but I did not find an easy way to reconstruct the Exception again. Writing a deserializer all on my own seems quite much work and a complete waste of time, since there are deserializers - but how can I access them? I've written deserializers implementing the Deserializer interface, but I do not know how to write one without those helping objects like XMLJavaMappingRegistry. Thanks, Moritz (MGM-EDV Beratung, Munich, Germany)
Weblogic 6.1 SP2 accessing an EJB in an EAR
I originally had Apache SOAP 2.2 working just fine with Weblogic 5.1... and there, it was successfully accessing a stateful session bean. Now, after a series of problems trying to upgrade to Weblogic 6.1, I have one last problem and I think things will work again. BTW, I'm using Weblogic 6.1 SP2. My current problem is that the SOAP stuff can't seem to find my stateful session bean anymore. I get the following error: ECHO Fri Jan 11 14:53:16 EST 2002:E Generated fault: ECHO Fri Jan 11 14:53:16 EST 2002:E Fault Code = SOAP-ENV:Server ECHO Fri Jan 11 14:53:16 EST 2002:E Fault String = Error in connecting to EJB java.lang.ClassNotFoundException: org.myapp.services.ejb.sessionmanager.SessionManagerHome I have my application wrapped in an EAR file. And thus, all my EJBs are in that EAR file... and thus my SessionManager bean is and does NOT need to be my classpath. At first, I figured the problem was that I needed to modify the web.xml so that the ejb-ref-name points to my sessionmanager... and likewise also create weblogic.xml that tied the web.xml's ejb-ref-name to the actual JNDI name. I thought that would do it... but no such luck. Am I missing something. Is there some other trick in telling an outside web app like Apache SOAP where my EAR is... or how to obtain an EJB in my EAR? Thanks - Michael J. Hudson Software/Framework Engineer [EMAIL PROTECTED] cell-phone: 703.362.8039 voice-mail: 703.827.0638 ext. 4786 fax: 703.734.0987 Blueprint Technologies Great software starts with great architecture http://www.blueprinttech.com
RE: Why write a serializer/deserializer ??
Title: Why write a serializer/deserializer ?? My reasons are: 1) I didn't want to "serialize" all properties of my objects. 2) I think the BeanSerializer is case sensitive for property names, and I'm working with clients developed in other languages that aren't. 3) I wanted to have complete control and understand exactly what was going on g -Original Message-From: Jamie Tsao [mailto:[EMAIL PROTECTED]]Sent: Friday, January 11, 2002 4:04 PMTo: [EMAIL PROTECTED]Subject: Why write a serializer/deserializer ?? Hi, Sorry for my ignorance as I'm a new-comer to SOAP. I've been reading the documentation on Apache's SOAP implementation and was wondering why you would write a serializer/deserializer when you could just use the BeanSerializer. It seems to be able to handle any java bean. Is there any reason a java bean wouldn't work with the BeanSerializer ? Any reason why you wouldn't use a java bean ? I know I'm obviously missing something, but it would be great if someone could tell me what it is. Thanks.
RE: Weblogic 6.1 SP2 accessing an EJB in an EAR
Can you access your SessionManager EJB from something other than the SOAP servlet ? (i.e is this a problem with the SOAP servlet configuration, or with the deployment of your SessionManager EJB ?) -Original Message- From: Michael J. Hudson [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 12:48 PM To: [EMAIL PROTECTED] Subject: Weblogic 6.1 SP2 accessing an EJB in an EAR I originally had Apache SOAP 2.2 working just fine with Weblogic 5.1... and there, it was successfully accessing a stateful session bean. Now, after a series of problems trying to upgrade to Weblogic 6.1, I have one last problem and I think things will work again. BTW, I'm using Weblogic 6.1 SP2. My current problem is that the SOAP stuff can't seem to find my stateful session bean anymore. I get the following error: ECHO Fri Jan 11 14:53:16 EST 2002:E Generated fault: ECHO Fri Jan 11 14:53:16 EST 2002:E Fault Code = SOAP-ENV:Server ECHO Fri Jan 11 14:53:16 EST 2002:E Fault String = Error in connecting to EJB java.lang.ClassNotFoundException: org.myapp.services.ejb.sessionmanager.SessionManagerHome I have my application wrapped in an EAR file. And thus, all my EJBs are in that EAR file... and thus my SessionManager bean is and does NOT need to be my classpath. At first, I figured the problem was that I needed to modify the web.xml so that the ejb-ref-name points to my sessionmanager... and likewise also create weblogic.xml that tied the web.xml's ejb-ref-name to the actual JNDI name. I thought that would do it... but no such luck. Am I missing something. Is there some other trick in telling an outside web app like Apache SOAP where my EAR is... or how to obtain an EJB in my EAR? Thanks - Michael J. Hudson Software/Framework Engineer [EMAIL PROTECTED] cell-phone: 703.362.8039 voice-mail: 703.827.0638 ext. 4786 fax: 703.734.0987 Blueprint Technologies Great software starts with great architecture http://www.blueprinttech.com
Re: Weblogic 6.1 SP2 accessing an EJB in an EAR
Yes, I have a JSP within the EAR that calls the SessionManager EJB through RMI. And that works. I guess the real question is... has anyone else done this type of thing with my configuration? Specifically, Apache SOAP 2.2 with Weblogic 6.1 SP2 where the SOAP is trying to access a stateful session bean that resides in an EAR that is independent of the SOAP app. Right now, I'm thinking that I might just stop trying to make this work... and just WAR up the whole Apache SOAP 2.2 stuff, and include that INSIDE my EAR. John Prout wrote: Can you access your SessionManager EJB from something other than the SOAP servlet ? (i.e is this a problem with the SOAP servlet configuration, or with the deployment of your SessionManager EJB ?) -Original Message- From: Michael J. Hudson [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 12:48 PM To: [EMAIL PROTECTED] Subject: Weblogic 6.1 SP2 accessing an EJB in an EAR I originally had Apache SOAP 2.2 working just fine with Weblogic 5.1... and there, it was successfully accessing a stateful session bean. Now, after a series of problems trying to upgrade to Weblogic 6.1, I have one last problem and I think things will work again. BTW, I'm using Weblogic 6.1 SP2. My current problem is that the SOAP stuff can't seem to find my stateful session bean anymore. I get the following error: ECHO Fri Jan 11 14:53:16 EST 2002:E Generated fault: ECHO Fri Jan 11 14:53:16 EST 2002:E Fault Code = SOAP-ENV:Server ECHO Fri Jan 11 14:53:16 EST 2002:E Fault String = Error in connecting to EJB java.lang.ClassNotFoundException: org.myapp.services.ejb.sessionmanager.SessionManagerHome I have my application wrapped in an EAR file. And thus, all my EJBs are in that EAR file... and thus my SessionManager bean is and does NOT need to be my classpath. At first, I figured the problem was that I needed to modify the web.xml so that the ejb-ref-name points to my sessionmanager... and likewise also create weblogic.xml that tied the web.xml's ejb-ref-name to the actual JNDI name. I thought that would do it... but no such luck. Am I missing something. Is there some other trick in telling an outside web app like Apache SOAP where my EAR is... or how to obtain an EJB in my EAR? Thanks - Michael J. Hudson Software/Framework Engineer [EMAIL PROTECTED] cell-phone: 703.362.8039 voice-mail: 703.827.0638 ext. 4786 fax: 703.734.0987 Blueprint Technologies Great software starts with great architecture http://www.blueprinttech.com
Exception Handling/Error Reporting
I'm a soap Newbie and I have some questions about soap and error reporting. lets say I have a server side method: public Address getAddressFromName(String name) throws IllegalArgumentException { if (name == null) { throw new IllegalArgumentException(The name argument must not be + null.); } return (Address)name2AddressTable.get(name); } This method was copied directly from the address book example. If name is null the server throws an IllegalArgumenException, and and the response Fault looks like: Generated fault: Fault Code = SOAP-ENV:Server Fault String = Exception from service object: The name argument must not be null. NOW, If I call the invoke() again (on the same Call ojbect) I get a different fault. Generated fault: Fault Code = SOAP-ENV:Server.BadTargetObjectURI Fault String = Unable to determine object id from call: is the method element namespaced? It seems to me that throwing the first exception from a server side method caused something bad to happen to the Call object. As such, do I need to avoid throwing server side exceptions at all costs if I want to reuse the same Call object? Is it good practice to avoid throwing server side exceptions in the first place? Finally, can someone point to to any documentation that discusses implementiing reporting of server side errors. George Voronoff Senior Software Engineer (Net Hack) Grassroots Enterprise, Inc
How are you handling dates?
It seems as though the java.util.Date class is serializing dates in the local time zone, rather than the depicted Zulu time (GMT/UTC). Is anyone else doing Apache-SOAP development where they have to handle time zone issues? I'm storing everything in the backend database in GMT, so the middle tier expects to send and recieve all date/times in GMT. It's a client function to convert to the locale time if they need to. My problem is that unless I set the middle tier machine's time zone to GMT, dates keep on getting serialized into CST (my local time zone). Can anyone shed any light on this? TIA. -Chris
WSDL , Apache Soap question
I have a Apache Web service one of whose methods takes in java.util.Hashtable as a parameter . I understand that the Apache Toolkit supports Hashtable encoding . But i want to write a WSDL interface to this service that toolkits from other languages could use to generate stubs . I could'nt find the right schema element to represent a structure similar to Map / Hashtable . I used the Idoox java2wsdl utility to see what the utility generates and it came up with ns0:Hashtable where ns0 = http://xml.apache.org/xml-soap . This is obviously Apache specific and I dont know how compilers from other languages will interpret it . Has anyone else faced a similar issue ? Thanks - Raghavan
Re: Weblogic 6.1 SP2 accessing an EJB in an EAR
Finally got it to work.. but not the way I really wished it would have worked. Like I said below... I ended up WAR-ing up the whole Apache 2.2 stuff and included it inside my EAR as SOAP.WAR I put the soap.jar at the root level in my EAR (same level as my EJB jars). Then I wrote a manifest.mf file that said Class-Path: soap.jar and included that in the appropriate place in my SOAP.WAR Now everything works! But not quite how Apache has one installing their SOAP stuff. -Michael Michael J. Hudson wrote: Yes, I have a JSP within the EAR that calls the SessionManager EJB through RMI. And that works. I guess the real question is... has anyone else done this type of thing with my configuration? Specifically, Apache SOAP 2.2 with Weblogic 6.1 SP2 where the SOAP is trying to access a stateful session bean that resides in an EAR that is independent of the SOAP app. Right now, I'm thinking that I might just stop trying to make this work... and just WAR up the whole Apache SOAP 2.2 stuff, and include that INSIDE my EAR. John Prout wrote: Can you access your SessionManager EJB from something other than the SOAP servlet ? (i.e is this a problem with the SOAP servlet configuration, or with the deployment of your SessionManager EJB ?) -Original Message- From: Michael J. Hudson [mailto:[EMAIL PROTECTED]] Sent: Friday, January 11, 2002 12:48 PM To: [EMAIL PROTECTED] Subject: Weblogic 6.1 SP2 accessing an EJB in an EAR I originally had Apache SOAP 2.2 working just fine with Weblogic 5.1... and there, it was successfully accessing a stateful session bean. Now, after a series of problems trying to upgrade to Weblogic 6.1, I have one last problem and I think things will work again. BTW, I'm using Weblogic 6.1 SP2. My current problem is that the SOAP stuff can't seem to find my stateful session bean anymore. I get the following error: ECHO Fri Jan 11 14:53:16 EST 2002:E Generated fault: ECHO Fri Jan 11 14:53:16 EST 2002:E Fault Code = SOAP-ENV:Server ECHO Fri Jan 11 14:53:16 EST 2002:E Fault String = Error in connecting to EJB java.lang.ClassNotFoundException: org.myapp.services.ejb.sessionmanager.SessionManagerHome I have my application wrapped in an EAR file. And thus, all my EJBs are in that EAR file... and thus my SessionManager bean is and does NOT need to be my classpath. At first, I figured the problem was that I needed to modify the web.xml so that the ejb-ref-name points to my sessionmanager... and likewise also create weblogic.xml that tied the web.xml's ejb-ref-name to the actual JNDI name. I thought that would do it... but no such luck. Am I missing something. Is there some other trick in telling an outside web app like Apache SOAP where my EAR is... or how to obtain an EJB in my EAR? Thanks - Michael J. Hudson Software/Framework Engineer [EMAIL PROTECTED] cell-phone: 703.362.8039 voice-mail: 703.827.0638 ext. 4786 fax: 703.734.0987 Blueprint Technologies Great software starts with great architecture http://www.blueprinttech.com
RE: Exception Handling/Error Reporting
I did some googling and I found an email that was send by Michael J. Hudson that says that the Call objects getFullTargetObjectURI() gets wiped out when there is a Soap Fault. His workaround solution is to save the full target object uri before the call and reset it after in the case where there is a fault. Here is the email in full http://marc.theaimsgroup.com/?l=soap-userm=99748693307691w=2 In his email, Michael asks when this bug is going to be fixed. Obviously, it has not been fixed ;) Does anyone know if this is indeed a bug or desired behavior? -Original Message- From: George Voronoff Sent: Friday, January 11, 2002 4:11 PM To: [EMAIL PROTECTED] Subject: Exception Handling/Error Reporting I'm a soap Newbie and I have some questions about soap and error reporting. lets say I have a server side method: public Address getAddressFromName(String name) throws IllegalArgumentException { if (name == null) { throw new IllegalArgumentException(The name argument must not be + null.); } return (Address)name2AddressTable.get(name); } This method was copied directly from the address book example. If name is null the server throws an IllegalArgumenException, and and the response Fault looks like: Generated fault: Fault Code = SOAP-ENV:Server Fault String = Exception from service object: The name argument must not be null. NOW, If I call the invoke() again (on the same Call ojbect) I get a different fault. Generated fault: Fault Code = SOAP-ENV:Server.BadTargetObjectURI Fault String = Unable to determine object id from call: is the method element namespaced? It seems to me that throwing the first exception from a server side method caused something bad to happen to the Call object. As such, do I need to avoid throwing server side exceptions at all costs if I want to reuse the same Call object? Is it good practice to avoid throwing server side exceptions in the first place? Finally, can someone point to to any documentation that discusses implementiing reporting of server side errors. George Voronoff Senior Software Engineer (Net Hack) Grassroots Enterprise, Inc