Re: Enumeration Question
Thanks for all the info. I am aware of the type safe enumerations pattern and the benefits this brings. But when I run Java2WSDL I do not get any enumerated definitions of any kind. They are just ignored. Did you submit a fix for the Java2WSDL tool? Or am I making a mistake when running it? :-) McDaniel, Joe wrote: Perhaps my response was not clear -- I think you are asking why you don't see the usual public static final statements? The model for building enumerations in Axis is one that is designed to be more robust than the usual simple enumeration model. Hence, you see instantiations of the class rather than the "constants" in the generated code. You can use the "constants" in the same way, though. For instance, here is a generated enumeration from my wsdl using my new generator -- the current Axis will not have the _RAW and RAW generations since the list does contain spaces: public class DataFormatType implements java.io.Serializable { private java.lang.String _value_; private static java.util.HashMap _table_ = new java.util.HashMap(); // Constructor protected DataFormatType(java.lang.String value) { _value_ = value; _table_.put(_value_,this); } public static final java.lang.String _value1 = "raw"; public static final java.lang.String _value2 = "gzip"; public static final java.lang.String _value3 = "delta then gzip"; public static final java.lang.String _RAW = _value1; public static final java.lang.String _GZIP = _value2; public static final java.lang.String _DELTA_THEN_GZIP = _value3; public static final DataFormatType value1 = new DataFormatType(_value1); public static final DataFormatType value2 = new DataFormatType(_value2); public static final DataFormatType value3 = new DataFormatType(_value3); public static final DataFormatType RAW = value1; public static final DataFormatType GZIP = value2; public static final DataFormatType DELTA_THEN_GZIP = value3; public java.lang.String getValue() { return _value_;} public static DataFormatType fromValue(java.lang.String value) throws java.lang.IllegalStateException { DataFormatType enum = (DataFormatType) _table_.get(value); if (enum==null) throw new java.lang.IllegalStateException(); return enum; } public static DataFormatType fromString(java.lang.String value) throws java.lang.IllegalStateException { return fromValue(value); } public boolean equals(java.lang.Object obj) {return (obj == this);} public int hashCode() { return toString().hashCode();} public java.lang.String toString() { return _value_;} public java.lang.Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);} } I can then use DataFormatType.RAW exactly as one might with the simple enumeration (same as if I used DataFormatType._value1 or DataFormatType._RAW above). Hope this is clear? Best, Joe -Original Message- From: McDaniel, Joe Sent: Wednesday, December 10, 2003 1:04 PM To: [EMAIL PROTECTED] Subject: RE: Enumeration Question Stuart, I submitted a revised class for producing enumerations that will produce more user-friendly enumerations (no VALUE1 stuff) and is still compatible with the old code set. If you limit your enumerated list to items without spaces, then you can get an enumeration that is usable. Best, Joe -Original Message- From: Stuart Barlow [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 6:43 AM To: [EMAIL PROTECTED] Subject: Re: Enumeration Question Apologies for continuing this old discussion but... I see from the discussion that WSDL2Java is able to convert simple enumerated types into Java static final values. However when I run Java2WSDL in the first step of creating my webservice the public final static fields do not get created in the WSDL. Is this the expected behaviour? If I want enumerated types available to my client do I need to manually edit the WSDL after running the Java2WSDL tool? Thanks, Stuart. McDaniel, Joe wrote: OK -- I found the "magic!" Does not seem to be documented, but in one of the tests for Axis I found this: Ergo, if one does not have any spaces in any of the enumerated values, then it will automatically generate useful values. IMHO, one should simply replace spaces with _ and generate HO_HO_HO instead of VALUE1. Joe -Original Message- From: McDaniel, Joe Sent: Thursday, November 20, 2003 10:05 AM To: [EMAIL PROTECTED] Subject: RE: Enumeration Question Hi Albert, OK -- that makes a bit of sense although the type-safe "feature" then means it is not compile-time "safe" since you cannot use the static variables (unless you want to use the NotificationType._value1, ...). What I see, in practice, is things like: nhq.setNotificationType(org.jtc.wo.NotificationTyp
Re: Couple of questions on Axis Handlers
Hi! Could you find answers to these questions in the meantime? I would be very interested in them. Thanks, Thilo Hi All, I have couple of questions on Axis handlers. Any help in answering this = questions (answers, hints, pointers are all welcome) is greatly = appreciated. 1. I want to configure request and response handlers at the application = scope. When I do this, my understanding is that only one instance of = these handlers get created and get used for all web service requests. Is = this true when I configure handlers at each web service level and also = as part of global chain? 2. Also, when I use Application scope request and response handlers, = will one instance of these handler get created for each web service or = only one gets created for the whole Apache Axis engine? 3. My request handler need some initialization so that it does not take = long time on the first request to initialize. I think I read in one of = the newsgroup emails that if the Axis service is set to load on startup, = it calls the init method of the handlers on the startup of the app = server itself. It looks like that is now Axis 1.0 worked. Does Axis 1.1 = fix this? 4. How about the destroy method. Handler's destroy is not getting on = called when App Server is shutdown/unloaded. Like the initialization, I = have some unload() work which need to be done on the shutdown. In Axis = 1.0, It looks like the destroy method is not getting called on the = shutdown. Does Axis 1.1 fix this? Thanks in advance, Ramesh.
Help Abt WSDD
Group, Can any one tell What happens after executing this command ? > java org.apache.axis.client.AdminClient deploy.wsdd My Problem is after executing this the details abt the WebService are not updated in the server-config.wsdd file. How do i deploy this? I am not able to access the WSDL of the service even though i get a following message after the execution of above command Done processing Thanks Dhanush ** Scanned by eScan Content-Security and Anti-Virus Software. Visit http://www.mwti.net for more info on eScan and MailScan. ** * Disclaimer This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message and are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. * Visit us at http://www.mahindrabt.com
Re: Using xdoclet to generate wsdd
Aren't you sending this to the wrong list? Try http://xdoclet.sf.net -- all the info is there. Olivier RICHAUD wrote: Hi all, As we make extensive use of xdoclet in our project, we looked at the xdoclet tags. But how do I call it from my ant build file? Thanks. Olivier.
RE: Help Abt WSDD
Hi > -Original Message- > From: Dhanush Gopinath [mailto:[EMAIL PROTECTED] > Sent: Thursday, December 11, 2003 5:31 PM > My Problem is after executing this the details abt the > WebService are not > updated in the server-config.wsdd file. the adminclient has some known bugs. so try deploying the service manually. the documentation is explicit about this. Regards Jaspreet
Bug? JAX-RPC handlers on the client
Hi! Browsing the source code of Axis 1.2 alpha I found out, that the order in which handlers are called on the client side is as follows: 1) Service Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Transport Specific Request Chain 5) Send SOAP message to service 6) Transport Specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Service specific Response Chain Question: why are JAX-RPC handlers called between global chain and transport specific chain? Shouldn't they be called between service specific chain and global chain? After all, the JAX-RPC-handler chain is service specific and therefore configures inside a service configuration. On the server side, the order is like I would have expected it: 1) Transport Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Service Specific Request Chain 5) invoke web service 6) Service specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Transport Specific Response Chain Is the behaviour on the client a bug? Thanks, Thilo
my body parts are in the header
Hi all, I'm new to this web server stuff and have a problem with a web service that I am trying to use. I'm using WSDLtoJava to generate the classes needed to access a web services. My problem is that the soap:body parameters are being sent in the soap:header and the web services is ignoring them. Can this be caused by an error in the WSDL or is it something on the client side? I need help in where to start looking. Thanks Rick
RE: my body parts are in the header
David, the reporting stuff is on gemsrm at /opt/msadmin/jakarta/webapps the only file you need is gemsIMAC.war. Just put in the webapps directory on the production server, make sure it is owned by the jakarta owner and restart tomcat. Pretty simple eh? We also need to coordinate [EMAIL PROTECTED] with the move to production. They will have to change the link that goes to James's stuff to this link. When are you planning to do this? Rick Bradberry NCR WCS Managed Services Telephone: 937-848-2203 Cell Phone: 937-367-1879 efax: 413-674-7094 -Original Message- From: Bradberry, Rick Sent: Thursday, December 11, 2003 8:13 AM To: '[EMAIL PROTECTED]' Subject: my body parts are in the header Hi all, I'm new to this web server stuff and have a problem with a web service that I am trying to use. I'm using WSDLtoJava to generate the classes needed to access a web services. My problem is that the soap:body parameters are being sent in the soap:header and the web services is ignoring them. Can this be caused by an error in the WSDL or is it something on the client side? I need help in where to start looking. Thanks Rick
RE: 1.2 alpha and castor serialization
Castor 0952 Axis 1.1 - I downloaded the zip file containing the source and then built it with ant. Unfortunately most of the things I have done have been complex. I started down the path of castor + axis because of the following link: http://www-106.ibm.com/developerworks/library/ws-castor/ The article above does not mention having to make the change to the CastorSerializer but the example they use is fairly simple. Craig -Original Message- From: Keith Bohnenberger [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:03 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Craig, What version of Castor are you using? What version of Axis are you using? Can you send a simple example that works with built in castor serialization? Keith -Original Message- From: Craig Duncan [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 9:25 AM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Did you make the change to the CastorSerializer class as noted in this link: http://www.mail-archive.com/[EMAIL PROTECTED]/msg15150.html I had issues until I made this change. Craig -Original Message- From: Keith Bohnenberger [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 3:53 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization I am trying to get a modified version of the stock example to work with built in castor serialization. I am using the alpha1.2 release from http://www.apache.org/dist/ws/axis/1_2alpha However, since it did not include the ...encoding.ser.castor.* classes I built a new axis.jar from the CVS repository. I then replaced the axis.jar file from the 1_2alpha download with the new axis.jar file. Given this configuration I can get the server side built and deployed however when I run my client I get the following error on the client side. I do have the TradePriceRequestDescriptor class that castor generated in my classpath so I am not sure what it is talking about. remoteException: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest faultActor: faultNode: faultDetail: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.ja va:262) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.jav a:169) at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseriali zationContextImpl.java:1092) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis patcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno wn Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializatio nContextImpl.java:257) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:582) at org.apache.axis.Message.getSOAPEnvelope(Message.java:447) at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java :687) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:134) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.j ava:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:157) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:122) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:183) at org.apache.axis.client.Call.invokeEngine(Call.java:2682) at org.apache.axis.client.Call.invoke(Call.java:2665)
Recall: my body parts are in the header
The sender would like to recall the message, "my body parts are in the header".
RE: Migration from Apache SOAP 2.2
Go here and scroll to the bottom of page. http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages Craig -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:13 PM To: [EMAIL PROTECTED] Subject: Migration from Apache SOAP 2.2 Hi. I have an application developed on Apache soap 2.2 . I want to migrate it to Axis(both client and server). Is there a migration guide/faq/how-to or any other documentation that will help me ? Thanks /s mail2web - Check your email from the web at http://mail2web.com/ .
Re: Bug? JAX-RPC handlers on the client
about your question: As I have understood your and Dapeng Wang presentations on W-JAX: A jax-rpc handler chain can only handle jax-rpc handlers but axis can deal with both, and jax-rpc handler are allways global and not service spezific. so the transport handlers und global handlers build the start and end point from the jax-rpc chain ( all things dealing with jax-rpc handlers can be done ) beginning with the global handler section the chain continue with axis handlers and all pissibilities from this handlers. best regards Harry Am Do, den 11.12.2003 schrieb Thilo Frotscher um 13:44: Hi! Browsing the source code of Axis 1.2 alpha I found out, that the order in which handlers are called on the client side is as follows: 1) Service Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Transport Specific Request Chain 5) Send SOAP message to service 6) Transport Specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Service specific Response Chain Question: why are JAX-RPC handlers called between global chain and transport specific chain? Shouldn't they be called between service specific chain and global chain? After all, the JAX-RPC-handler chain is service specific and therefore configures inside a service configuration. On the server side, the order is like I would have expected it: 1) Transport Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Service Specific Request Chain 5) invoke web service 6) Service specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Transport Specific Response Chain Is the behaviour on the client a bug? Thanks, Thilo
RE: 1.2 alpha and castor serialization
Bug 25440 posted.
Can Axis be made to handle messages that are not SOAP-based?
Title: Message The problem I am having is that not every client is willing to switch to SOAP for sending messages. I have looked through a lot of source code and I think that there is a way to create a new AxisServer and MyCustomServiceHandler to deal with non-SOAP messages. Is this the best way to do it? I see a lot of code riddled with getSOAPService calls and it seems that Axis is very much tied to the SOAP message type. Has anyone successfully plugged into Axis to support CSV or just plain XML messages? Thanks, Ozzie Gurkan Manheim
Re: Help Abt WSDD
I cannot include and in the server-config.wsdd file. Otherwise its working - Original Message - From: "Jaspreet Singh" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, December 11, 2003 5:50 PM Subject: RE: Help Abt WSDD > Hi > > > -Original Message- > > From: Dhanush Gopinath [mailto:[EMAIL PROTECTED] > > Sent: Thursday, December 11, 2003 5:31 PM > > > My Problem is after executing this the details abt the > > WebService are not > > updated in the server-config.wsdd file. > > the adminclient has some known bugs. so try deploying the service manually. > the documentation is explicit about this. > > Regards > Jaspreet > > ** > Scanned by eScan Content-Security and Anti-Virus Software. > Visit http://www.mwti.net for more info on eScan and MailScan. > ** > > ** Scanned by eScan Content-Security and Anti-Virus Software. Visit http://www.mwti.net for more info on eScan and MailScan. ** * Disclaimer This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message and are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. * Visit us at http://www.mahindrabt.com
Re: Apache Axis Tutorial
I got my javac to work from everywhere now (I just reinstalled the sdk), but that wasn't the problem. Hmmm. Does anyone have XP running? How do you have the classpath and path and everything set up? Since I have all the axis jars in the classpath and and in the path, I think there could easily be something I mis-typed. Xavier Renard <[EMAIL PROTECTED]> wrote: -BEGIN PGP SIGNED MESSAGE-Hash: SHA1Dhanush Gopinath wrote:|| PATH=C:\j2sdk1.4.1_06\bin;%PATH%|| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\axis.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\axis-ant.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\commons-discovery.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\commons-logging.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\jaxrpc.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\log4j-1.2.8.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\saaj.jar| set CLASSPATH=%CLASSPATH%;C:\AXIS\axis-1_1\lib\wsdl4j.jar|| set CLASSPATH=%CLASSPATH%;D:\Web Services| Trials\jakarta-tomcat-4.1.17\common\lib\servlet.jar|| set CLASSPATH=%CLASSPATH%;C:\AxisDemos| Hi| My PATH and CLASSPATH|| C:\AxisDemos => Is my working directiry.. It contains the Client class| and the package which includes the 4 files| C:\AXIS\axis-1_1 => is Axis_home||My 2 cents:I would put the . in the PATHand for the last line, i would add a backslash at the endsoset PATH=.;%PATH%andset CLASSPATH=%CLASSPATH%;C:\AxisDemos\Xavier| Cheers| Dhanush|| - Original Message -| *From:* Yves | *To:* [EMAIL PROTECTED] | *Sent:* Wednesday, December 10, 2003 7:02 PM| *Subject:* Re: Apache Axis Tutorial|| Hmmm... same thing. I did that step before: the 4 files created are:| TaxService.java TaxServiceService.java TaxServiceServiceLocator.java| and TaxServiceBindingStub.java they're there...| Just a note, my java command works from everywhere in DOS, but javac| only works from within the java_home (C:\j2sdk1.4.1_05) and where I| have this app set up (j2sdk1.4.1_05/dev) is that a problem?|| Thanks|| -Yves|| */Dhanush Gopinath <[EMAIL PROTECTED]>/* wrote:|| Hi,|| Once u jhave wriitten ur Webservice and Deployed that .. u will| have to run this command ... u create the 4 Class Files.|| *java org.apache.axis.wsdl.WSDL2JAVA| **http://localhost:8080/axis/**. .jws?WSDL -p| localhost.dir1.dir2*|| jws indicate ur Webservice File|| Then Four files will be generated underthe directory| localhost.dir1.dir2;|| Import that and try it again ..|| Regards| Dhanush|-BEGIN PGP SIGNATURE-Version: GnuPG v1.2.1 (GNU/Linux)Comment: Using GnuPG with Debian - http://enigmail.mozdev.orgiD8DBQE/1yZbyiOPf64lMPQRAtCqAJwLwSU+7axaGbW1HC8cf3zNH+MGUACdE2NCLLUKgqLb+NHS8ZsGeRLANwk==/gai-END PGP SIGNATURE-Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Testez le nouveau Yahoo! Mail
Re: Bug? JAX-RPC handlers on the client
Harald Pollak wrote: A jax-rpc handler chain can only handle jax-rpc handlers but axis can deal with both That's true. > and jax-rpc handler are allways global and not service spezific. That's not true. JAX-RPC handlers are service specific in Axis. Thus, I am wondering why they are invoked after the Global Chain on the client. Anyway, it's confusing that the order of handler invocation is different on client and server, isn't it?
Re: Bug? JAX-RPC handlers on the client
ok! I agree with you in all points. 1. Its realy confusing that client and server chain are different. 2. If jax-rpx handlers are service spezific ( I have missunderstood somthing )-> the client should allso act like the server. So I allso think its a bug. Harry Am Do, den 11.12.2003 schrieb Thilo Frotscher um 15:16: Harald Pollak wrote: > A jax-rpc handler chain can only handle jax-rpc handlers but axis can > deal with both That's true. > and jax-rpc handler are allways global and not service spezific. That's not true. JAX-RPC handlers are service specific in Axis. Thus, I am wondering why they are invoked after the Global Chain on the client. Anyway, it's confusing that the order of handler invocation is different on client and server, isn't it?
What is high-fidelity recording and by turning it off do I get pe rformance improvements?
Title: Message I noticed that there is a "streaming" setting for a Service, which seems to turn off "highFidelityRecording". This seems to turn off the SAX2EventRecorder, which records every event in the Deserialization process. Why is this defaulted to true? And in what situations should I use this functionality? Or is it safe to turn it off? Thanks, Ozzie Gurkan Manheim
RE: 1.2 alpha and castor serialization
For those using Castor and Axis, I have a better solution... I have had to only write a custom serializer/deseralizer to handle the SimpleType Enum classes and have used the standard BeanSerializer/Deserializer to do the rest. I am successfully running in production a full blown castor based solution that doesn't use the DOM-based serialization that IBM's article suggests or the CastorSerializer classes use. It uses the standard SAX-based parsing of the BeanSerializers for all objects except for Enum classes. I generate my Castor classes using the SourceGenerator from schema and it works seemlessly. You don't need to use the CastorSerializer class!! Contact me if you have further questions or need proof... Thanks, Ozzie Gurkan Manheim -Original Message- From: Craig Duncan [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 8:24 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Castor 0952 Axis 1.1 - I downloaded the zip file containing the source and then built it with ant. Unfortunately most of the things I have done have been complex. I started down the path of castor + axis because of the following link: http://www-106.ibm.com/developerworks/library/ws-castor/ The article above does not mention having to make the change to the CastorSerializer but the example they use is fairly simple. Craig -Original Message- From: Keith Bohnenberger [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 12:03 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Craig, What version of Castor are you using? What version of Axis are you using? Can you send a simple example that works with built in castor serialization? Keith -Original Message- From: Craig Duncan [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 9:25 AM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Did you make the change to the CastorSerializer class as noted in this link: http://www.mail-archive.com/[EMAIL PROTECTED]/msg15150.html I had issues until I made this change. Craig -Original Message- From: Keith Bohnenberger [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 09, 2003 3:53 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization I am trying to get a modified version of the stock example to work with built in castor serialization. I am using the alpha1.2 release from http://www.apache.org/dist/ws/axis/1_2alpha However, since it did not include the ...encoding.ser.castor.* classes I built a new axis.jar from the CVS repository. I then replaced the axis.jar file from the 1_2alpha download with the new axis.jar file. Given this configuration I can get the server side built and deployed however when I run my client I get the following error on the client side. I do have the TradePriceRequestDescriptor class that castor generated in my classpath so I am not sure what it is talking about. remoteException: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest faultActor: faultNode: faultDetail: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'TradePriceRequest' in ClassDescriptor of TradePriceRequest at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.ja va:262) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.jav a:169) at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseriali zationContextImpl.java:1092) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis patcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno wn Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.Abst
Re: Bug? JAX-RPC handlers on the client
Axis developers: was the decribed behaviour intentionally coded like this or is it a bug? Harald Pollak wrote: ok! I agree with you in all points. 1. Its realy confusing that client and server chain are different. 2. If jax-rpx handlers are service spezific ( I have missunderstood somthing )-> the client should allso act like the server. So I allso think its a bug. Harry Am Do, den 11.12.2003 schrieb Thilo Frotscher um 15:16: /Harald Pollak wrote: A jax-rpc handler chain can only handle jax-rpc handlers but axis can deal with both That's true. > and jax-rpc handler are allways global and not service spezific. That's not true. JAX-RPC handlers are service specific in Axis. Thus, I am wondering why they are invoked after the Global Chain on the client. Anyway, it's confusing that the order of handler invocation is different on client and server, isn't it? /
RE: 1.2 alpha and castor serialization
Hi Ozzie, I'm interested in ur solution. Can u send me the required files and give me a short note on how to use them in the context of the article . thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
intercept request message
Hello, is it possible to create a soa-rpc-request message, save it, but don't send it? I would think of this being useful if I want to split up my total processing into several, controlable steps. That is, have the ability to not execute a step, but only generate the requestmessage for the next processing step. Save the message, and then manually insert the generated request into the next step. Great for error tracking and tracing functionality. Is it possible? How would I do it? The lowest level client operations does something like: String endpoint =9 "http://nagoya.apache.org:5049/axis/services/echo";10 11 Service service = new Service();12 Call call = (Call) service.createCall();13 14 call.setTargetEndpointAddress( new java.net.URL(endpoint) );15 call.setOperationName(new QName("http://soapinterop.org/", "echoString"));16 17 String ret = (String) call.invoke( new Object[] { "Hello!" } );18 Line 17 invokes the service. Which I sometimes don't want. But also at that moment it will create a xml-soap message and send it over the wire. I would only like to create the message, and then get a handle to it so that I can save it. Would this be possible? Regards, Jan.
Optimizing large soap object
Hi. I am running an axis web service which takes and returns a very large complex bean as an argument. I use the BeanSerializer to Serialize the object. Everything functionally works but the service runs too slowly for the project requirements. I am thinking the easiest way to optimize is to reduce the size of the soap object. Most of the time, the majority of the fields in my bean are null. Is there a way to tell the BeanSerializer to skip null fields to reduce the size of the SOAP object? I am also open to any other suggestions in optimizing the marhsalling and unmarshalling of this large SOAP object. Thanks for your help. Karl
Re: intended purpose of JAXRPCHandler class ??
When deploying JAX-RPC handlers using via WSDD and the element, you can't decide _when_ your handlers will be invoke. They will always be invoked between the global chain and the service-specific chain (on the server side), or between the global chain and the transpot specific chain (on the client side), resp. Furthermore, they are always service specific. Using JAXRPCHandler may have some drawbacks, since this class seems to need some fixes, but nevertheless you'll have the opportunity to plug JAX-RPC style handlers into any chain, like a transport-specific chain for example. Mark D. Hansen wrote: Does anybody know what JAXRPCHandler is supposed to be used for? After digging around in the source code, I finally figured out how to deploy services using JAX-RPC handlers via WSDD and the element. So, if is the intended method for deployment of JAX-RPC handlers, what is the class JAXRPCHandler used for? Thanks for any insights. -- Mark
Re: Bug? JAX-RPC handlers on the client
Hi Thilo! In the Axis Architecture Guide (http://ws.apache.org/axis/java/architecture-guide.html) the behaviour you describe is explained to be intended. (Beside points 3 and 7, which are not explained). Imho the figures show very well, why there's a different order of chains on server and client side. cheers, Christoph Thilo Frotscher wrote: Hi! Browsing the source code of Axis 1.2 alpha I found out, that the order in which handlers are called on the client side is as follows: 1) Service Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Transport Specific Request Chain 5) Send SOAP message to service 6) Transport Specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Service specific Response Chain Question: why are JAX-RPC handlers called between global chain and transport specific chain? Shouldn't they be called between service specific chain and global chain? After all, the JAX-RPC-handler chain is service specific and therefore configures inside a service configuration. On the server side, the order is like I would have expected it: 1) Transport Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Service Specific Request Chain 5) invoke web service 6) Service specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Transport Specific Response Chain Is the behaviour on the client a bug? Thanks, Thilo
RE: intended purpose of JAXRPCHandler class ??
OK - thanks for this explanation. I want to use a JAX-RPC handler in a non-service specific way, but can't make use of JAXRPCHandler class because of some problems noted in an earlier post to th is list. I am going to try to come up with a patch for JAXRPCHandler and post it along with a bug report. -- Mark > -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Thursday, December 11, 2003 11:44 AM > To: [EMAIL PROTECTED] > Subject: Re: intended purpose of JAXRPCHandler class ?? > > > > When deploying JAX-RPC handlers using via WSDD and the > > element, you can't decide _when_ your handlers will be > invoke. They will > always be invoked between the global chain and the > service-specific chain > (on the server side), or between the global chain and the transpot > specific chain (on the client side), resp. Furthermore, they > are always > service specific. > > Using JAXRPCHandler may have some drawbacks, since this class > seems to need > some fixes, but nevertheless you'll have the opportunity to > plug JAX-RPC > style handlers into any chain, like a transport-specific > chain for example. > > > > > Mark D. Hansen wrote: > > > Does anybody know what JAXRPCHandler is supposed to be used > for? After digging around in the source code, I finally > figured out how to deploy services using JAX-RPC handlers via > WSDD and the element. So, if > is the intended method for deployment of > JAX-RPC handlers, what is the class JAXRPCHandler used for? > > > > Thanks for any insights. > > > > -- Mark > > > > >
RE: Confusion in getHeaderByName methods - Please help
Hi, Somebody please explain me this or point me to some documentation(I read Axis API documentation) which explains this a little more.. Any help will be deeply appreciated. Thanks, Ranjith Pillai. -Original Message- From: PILLAI,RANJITH (HP-PaloAlto,ex1) [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 9:24 AM To: '[EMAIL PROTECTED]' Subject: Confusion in getHeaderByName methods - Please help Hi, Could somebody explain me the difference between below given API's. Unfortunately I couldn't figure out from API documentation. 1) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, java.lang.String localPart) throws AxisFault Get a header by name (always respecting the currently in-scope actors list) AxisFault 2) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, java.lang.String localPart, boolean accessAllHeaders) throws AxisFault Get a header by name, filtering for headers targeted at this engine depending on the accessAllHeaders parameter. In my service I used the first API. This worked fine, but when I ported my service to a different system, it failed. I am wondering why... I don't have any actors defined. Any feed back will be really appreciated.. Thanks, Ranjith Pillai.
Re: Enumeration Question
It is the java2wsdl that is the problem step. I guess that it would need to spot public final static Strings and ints etc and make them enumerated types. For now a manual edit of the WSDL is working. Thanks, Stuart. McDaniel, Joe wrote: Hi Stuart, Part of the source distribution are the test cases. Here is the wsdl for testing enumerations. Perhaps your wsdl is not correct? I did submit my changes to the wsdl2java tool. There would not be a comparable change to the javaw2sdl tool (I think) -- in any case, one must always do the java2wsdl and then wsdl2java steps to create the working .java files. I have not tried the java2wsdl route for anything complex so there may be some "magic" in what you must do I am not aware of. Since there is no explicit enum object in Java, it may be difficult for java2wsdl to recognize an enumeration. I am not a registered developer so I posted my revised class on the bug/feature reporting area. I can send you a copy of the new class. Best, -Original Message- From: Stuart Barlow [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 3:30 AM To: [EMAIL PROTECTED] Subject: Re: Enumeration Question Thanks for all the info. I am aware of the type safe enumerations pattern and the benefits this brings. But when I run Java2WSDL I do not get any enumerated definitions of any kind. They are just ignored. Did you submit a fix for the Java2WSDL tool? Or am I making a mistake when running it? :-)
Re: Confusion in getHeaderByName methods - Please help
Hi, Ranjith! Maybe this won't bring much light into your case, but as any help is deeply appreciated... In org.apache.axis.message.SOAPEnvelope, where both methods are defined, the method nr. 1) just does the following: public SOAPHeaderElement getHeaderByName(String namespace, String localPart) throws AxisFault { return getHeaderByName(namespace, localPart, false); } (Taken from the source) So it just wraps the method nr. 2) I'm sure, you already tried calling method 2) with true as value of the third parameter. Did that help? If it didn't, then maybe something else is wrong. Maybe inspecting the data exchange with something like the tcpmon could help. cheers, Christoph PILLAI,RANJITH (HP-PaloAlto,ex1) wrote: Hi, Somebody please explain me this or point me to some documentation(I read Axis API documentation) which explains this a little more.. Any help will be deeply appreciated. Thanks, Ranjith Pillai. -Original Message- From: PILLAI,RANJITH (HP-PaloAlto,ex1) [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2003 9:24 AM To: '[EMAIL PROTECTED]' Subject: Confusion in getHeaderByName methods - Please help Hi, Could somebody explain me the difference between below given API's. Unfortunately I couldn't figure out from API documentation. 1) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, java.lang.String localPart) throws AxisFault Get a header by name (always respecting the currently in-scope actors list) AxisFault 2) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, java.lang.String localPart, boolean accessAllHeaders) throws AxisFault Get a header by name, filtering for headers targeted at this engine depending on the accessAllHeaders parameter. In my service I used the first API. This worked fine, but when I ported my service to a different system, it failed. I am wondering why... I don't have any actors defined. Any feed back will be really appreciated.. Thanks, Ranjith Pillai.
RE: Confusion in getHeaderByName methods - Please help
Hi Tratter, Thanks for your reply.. Yes when I invoked getHeaderByName passing argument "true" worked when I ported to another system. Though I don't have any actors defined, first API worked in one system, but when I ported the same service to another system, first API didn't work, but second API worked passing argument "true". I am trying to understand its difference.. why first API worked in one system and not in other? So are you suggesting to use second API passing "true" always if I don't have any Actors defined? Thanks again, Ranjith Pillai. -Original Message- From: Christoph Tratter [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 9:28 AM To: [EMAIL PROTECTED] Subject: Re: Confusion in getHeaderByName methods - Please help Hi, Ranjith! Maybe this won't bring much light into your case, but as any help is deeply appreciated... In org.apache.axis.message.SOAPEnvelope, where both methods are defined, the method nr. 1) just does the following: public SOAPHeaderElement getHeaderByName(String namespace, String localPart) throws AxisFault { return getHeaderByName(namespace, localPart, false); } (Taken from the source) So it just wraps the method nr. 2) I'm sure, you already tried calling method 2) with true as value of the third parameter. Did that help? If it didn't, then maybe something else is wrong. Maybe inspecting the data exchange with something like the tcpmon could help. cheers, Christoph PILLAI,RANJITH (HP-PaloAlto,ex1) wrote: > Hi, > Somebody please explain me this or point me to some documentation(I > read Axis API documentation) which explains this a little more.. > > Any help will be deeply appreciated. > Thanks, > Ranjith Pillai. > > -Original Message- > From: PILLAI,RANJITH (HP-PaloAlto,ex1) [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 10, 2003 9:24 AM > To: '[EMAIL PROTECTED]' > Subject: Confusion in getHeaderByName methods - Please help > > > > Hi, > > Could somebody explain me the difference between below given API's. > Unfortunately I couldn't figure out from API documentation. > > 1) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, > java.lang.String localPart) > throws AxisFault > Get a header by name (always respecting the currently in-scope > actors list) > > AxisFault > > 2) public SOAPHeaderElement getHeaderByName(java.lang.String namespace, > java.lang.String localPart, > boolean accessAllHeaders) > throws AxisFault > > Get a header by name, filtering for headers targeted at this engine > depending on the accessAllHeaders parameter. > > In my service I used the first API. This worked fine, but when I ported my > service to a different system, it failed. I am wondering why... I don't > have any actors defined. > > Any feed back will be really appreciated.. > > Thanks, > Ranjith Pillai.
Re: Confusion in getHeaderByName methods - Please help
Hi! If passing "true" solves your problem and you're sure that actors will not be involved in any way, then stick to it. If you want to program defensively, you could still do something like the following: org.apache.axis.message.SOAPHeaderElement header; header = env.getHeaderByName(namespace, localPart, true); if (header != null) { if ((header.getActor() == null) || (header.getActor.equals(""))) { //The header has no actor. } else { //The header has an actor (attribute). Act according to that. } } Just to get sure. If at some day actors get relevant for you, you could maybe start with the following: http://www.w3.org/TR/soap11/#_Toc478383499 Maybe the above link can then also help to understand the strange comment for the method public java.util.Enumeration getHeadersByName(java.lang.String namespace, java.lang.String localPart, boolean accessAllHeaders) throws AxisFault in the Axis API for org.apache.axis.message.SOAPEnvelope (Watch out: it's getHeader_s_ByName) Hope it helps, Christoph PS: I'm talking about Axis 1.1 PILLAI,RANJITH (HP-PaloAlto,ex1) wrote: Hi Tratter, Thanks for your reply.. Yes when I invoked getHeaderByName passing argument "true" worked when I ported to another system. Though I don't have any actors defined, first API worked in one system, but when I ported the same service to another system, first API didn't work, but second API worked passing argument "true". I am trying to understand its difference.. why first API worked in one system and not in other? So are you suggesting to use second API passing "true" always if I don't have any Actors defined? Thanks again, Ranjith Pillai.
Deserializer help needed
Title: Deserializer help needed I need help finding information about writing a custom deserializer. I have a class I want to pass through Axis that acts as a type-safe enumeration. It has no public constructor. The class can return an instance that is matched against certain data, but no new instances are ever created (they are all created in a static initializer). This being the case, the bean deserializer is of no use. I'm having difficulty finding information about the deserialization process. Aside from the source code, are there any good references to Axis deserializers? Anybody else tackle a similar problem? Thanks for all help. Daniel Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system.
RE: 1.2 alpha and castor serialization
Unlike the article, I don't include the XSD in the WSDL file. I let the automatic WSDL generation process that Axis does generate it for me. I do generate the castor classes (along with the *Descriptor classes) from the XSD file and define these as beanMappings: http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> I am using RPC/encoded style and had it successfully working with literal, too. The only difference is that when you are doing "literal", you have to set the "encodingStyle" on the typeMapping element to a "". So, the difference from the article is that I don't allow delegation of the entire SOAP body to a CastorSerializer, which ends up using DOM--that is incredibly bad! I can attach the code for the EnumType serializer, if you do need it. A couple things to note on the code generation: - I almost always use namespace mapping to generate proper class package names. That is specified in castorbuilder.properties. - I wrap my messages with request and response objects. See beanMapping elements, CreditCheckRequest and CreditCheckResponse. These objects inherit a ServiceRequest and ServiceResponse abstract class. Advantages: - No hand modification to WSDL. Use the ?wsdl to auto generate with no customization. - Uses standard BeanSerializer/Deserializer methods, which are optimized to use SAX pipeline. - Minimal customization for EnumTypes, which doesn't use DOM, and automatically generates the proper schema for WSDL. - Works with RPC encoded/literal, etc. Ozzie Gurkan -Original Message- From: Pradeep Jonnalagadda [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 11:12 AM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Hi Ozzie, I'm interested in ur solution. Can u send me the required files and give me a short note on how to use them in the context of the article . thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
RE: Deserializer help needed
Title: Message I have tackled this problem with Castor EnumType classes. If you like, I can attach the source code and you can duplicate it. It also automatically generates the schema needed for WSDL generation. -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PMTo: [EMAIL PROTECTED]Subject: Deserializer help needed I need help finding information about writing a custom deserializer. I have a class I want to pass through Axis that acts as a type-safe enumeration. It has no public constructor. The class can return an instance that is matched against certain data, but no new instances are ever created (they are all created in a static initializer). This being the case, the bean deserializer is of no use. I'm having difficulty finding information about the deserialization process. Aside from the source code, are there any good references to Axis deserializers? Anybody else tackle a similar problem? Thanks for all help. Daniel Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system.
RE: Deserializer help needed
Title: Message That would be greatly helpful! Thanks! -Original Message-From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 12:39 PMTo: '[EMAIL PROTECTED]'Subject: RE: Deserializer help needed I have tackled this problem with Castor EnumType classes. If you like, I can attach the source code and you can duplicate it. It also automatically generates the schema needed for WSDL generation. -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PMTo: [EMAIL PROTECTED]Subject: Deserializer help needed I need help finding information about writing a custom deserializer. I have a class I want to pass through Axis that acts as a type-safe enumeration. It has no public constructor. The class can return an instance that is matched against certain data, but no new instances are ever created (they are all created in a static initializer). This being the case, the bean deserializer is of no use. I'm having difficulty finding information about the deserialization process. Aside from the source code, are there any good references to Axis deserializers? Anybody else tackle a similar problem? Thanks for all help. Daniel Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system. Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system.
RE: Deserializer help needed
Title: Message Here are the two attached files for helping with serialization and de-serialization of Castor EnumType classes. You will need to add the following to your wsdd file: http://mycompany.com//> Notice the reflection takes place on the serializer to pull out the string (call "toString" method) and likewise on the deserializer to create the object (call static "valueOf" method). The deserializer also produces the schema entry needed for the WSDL generation. Enjoy! Ozzie Gurkan Manheim -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:42 PMTo: [EMAIL PROTECTED]Subject: RE: Deserializer help needed That would be greatly helpful! Thanks! -Original Message-From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 12:39 PMTo: '[EMAIL PROTECTED]'Subject: RE: Deserializer help needed I have tackled this problem with Castor EnumType classes. If you like, I can attach the source code and you can duplicate it. It also automatically generates the schema needed for WSDL generation. -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PMTo: [EMAIL PROTECTED]Subject: Deserializer help needed I need help finding information about writing a custom deserializer. I have a class I want to pass through Axis that acts as a type-safe enumeration. It has no public constructor. The class can return an instance that is matched against certain data, but no new instances are ever created (they are all created in a static initializer). This being the case, the bean deserializer is of no use. I'm having difficulty finding information about the deserialization process. Aside from the source code, are there any good references to Axis deserializers? Anybody else tackle a similar problem? Thanks for all help. Daniel Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system. Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system. CastorEnumTypeSerializerFactory.java Description: Binary data CastorEnumTypeDeserializerFactory.java Description: Binary data CastorEnumTypeSerializer.java Description: Binary data CastorEnumTypeDeserializer.java Description: Binary data
RE: 1.2 alpha and castor serialization
One other advantage to my approach is that the client side doesn't need the Castor Serializer/Deserializers at all--not even the enum type. That is because I allow the WSDL to be created by Axis Server automatically and hence the WSDL2Java creates pure Bean Serializer/Deserialzer code. As a matter of fact, I don't generate client code anymore. I just tell my clients to get the WSDL and generate it themselves. They have no clue that I am using Castor beans in the background! Ozzie -Original Message- From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PM To: '[EMAIL PROTECTED]' Subject: RE: 1.2 alpha and castor serialization Unlike the article, I don't include the XSD in the WSDL file. I let the automatic WSDL generation process that Axis does generate it for me. I do generate the castor classes (along with the *Descriptor classes) from the XSD file and define these as beanMappings: http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> I am using RPC/encoded style and had it successfully working with literal, too. The only difference is that when you are doing "literal", you have to set the "encodingStyle" on the typeMapping element to a "". So, the difference from the article is that I don't allow delegation of the entire SOAP body to a CastorSerializer, which ends up using DOM--that is incredibly bad! I can attach the code for the EnumType serializer, if you do need it. A couple things to note on the code generation: - I almost always use namespace mapping to generate proper class package names. That is specified in castorbuilder.properties. - I wrap my messages with request and response objects. See beanMapping elements, CreditCheckRequest and CreditCheckResponse. These objects inherit a ServiceRequest and ServiceResponse abstract class. Advantages: - No hand modification to WSDL. Use the ?wsdl to auto generate with no customization. - Uses standard BeanSerializer/Deserializer methods, which are optimized to use SAX pipeline. - Minimal customization for EnumTypes, which doesn't use DOM, and automatically generates the proper schema for WSDL. - Works with RPC encoded/literal, etc. Ozzie Gurkan -Original Message- From: Pradeep Jonnalagadda [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 11:12 AM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Hi Ozzie, I'm interested in ur solution. Can u send me the required files and give me a short note on how to use them in the context of the article . thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
RE: Deserializer help needed
Title: Message Thanks a ton! You have saved me a great amount of time. Thanks again! Daniel -Original Message-From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 12:49 PMTo: '[EMAIL PROTECTED]'Subject: RE: Deserializer help needed Here are the two attached files for helping with serialization and de-serialization of Castor EnumType classes. You will need to add the following to your wsdd file: http://mycompany.com//> Notice the reflection takes place on the serializer to pull out the string (call "toString" method) and likewise on the deserializer to create the object (call static "valueOf" method). The deserializer also produces the schema entry needed for the WSDL generation. Enjoy! Ozzie Gurkan Manheim -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:42 PMTo: [EMAIL PROTECTED]Subject: RE: Deserializer help needed That would be greatly helpful! Thanks! -Original Message-From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 12:39 PMTo: '[EMAIL PROTECTED]'Subject: RE: Deserializer help needed I have tackled this problem with Castor EnumType classes. If you like, I can attach the source code and you can duplicate it. It also automatically generates the schema needed for WSDL generation. -Original Message-From: Daniel Smeltzer [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PMTo: [EMAIL PROTECTED]Subject: Deserializer help needed I need help finding information about writing a custom deserializer. I have a class I want to pass through Axis that acts as a type-safe enumeration. It has no public constructor. The class can return an instance that is matched against certain data, but no new instances are ever created (they are all created in a static initializer). This being the case, the bean deserializer is of no use. I'm having difficulty finding information about the deserialization process. Aside from the source code, are there any good references to Axis deserializers? Anybody else tackle a similar problem? Thanks for all help. Daniel Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system. Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system. Statement of ConfidentialityThis e-mail message, and any attachments, is confidential and is intended solely for the addressees named above. If you are not a named recipient, an individual specifically authorized to receive this communication, or if this message has been addressed to you in error, do not read, disclose, reproduce, or otherwise use this transmission in any manner. If you have received this transmission in error, please alert the sender by replying to the e-mail or by contacting the sender by phone. We also request that you immediately delete this message, and attachments, if any. This disclaimer shall not be construed in any way to grant permission to transmit confidential information via this firm's e-mail system.
RE: 1.2 alpha and castor serialization
Hi Ozzie, Thanks for the help. I have few questions based on ur email reply. 1. What are castor enum type classes. 2. Do i have to change typmapping for every entry in deploy.wsdd file to refer to CastorEnumTypeSerializorFactory/CastorEnumTypeSerializorFactory or only few selected castor classes files.If so what kind of castor files?? 3. Can we use Doc/literal with ur approach. 4.When you define namespaces package mappings in castorbuilder.properties file and generate source with source generator do you see namespace references in Descriptor files??. For example the descriptor code might look like this public AliasDescriptor() { super(); nsURI = "http://beans";; setExtendsWithoutFlatten(new beans.AliasTypeDescriptor()); xmlName = "Alias"; } //-- 5. Can i infer that i do not need to make any changes on client side .Can u send ur client code??. 6. How do you generate client code from thw wsdl?. Ur answers would help a, lot. thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. "Gurkan, Ozzie (MAN-Corporate)" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: 1.2 alpha and castor serialization 12/11/2003 01:04 PM Please respond to axis-user One other advantage to my approach is that the client side doesn't need the Castor Serializer/Deserializers at all--not even the enum type. That is because I allow the WSDL to be created by Axis Server automatically and hence the WSDL2Java creates pure Bean Serializer/Deserialzer code. As a matter of fact, I don't generate client code anymore. I just tell my clients to get the WSDL and generate it themselves. They have no clue that I am using Castor beans in the background! Ozzie -Original Message- From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PM To: '[EMAIL PROTECTED]' Subject: RE: 1.2 alpha and castor serialization Unlike the article, I don't include the XSD in the WSDL file. I let the automatic WSDL generation process that Axis does generate it for me. I do generate the castor classes (along with the *Descriptor classes) from the XSD file and define these as beanMappings: http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> http://creditreport.service.portal.manheim.com/2003/8"/> I am using RPC/encoded style and had it successfully working with literal, too. The only difference is that when you are doing "literal", you have to set the "encodingStyle" on the typeMapping element to a "". So, the difference from the article is that I don't allow delegation of the entire SOAP body to a CastorSerializer, which ends up using DOM--that is incredibly bad! I can attach the code for the EnumType serializer, if you do need it. A couple things to note on the code generation: - I almost always use namespace mapping to generate proper class package names. That is specified in castorbuilder.properties. - I wrap my messages with request and response objects. See
Why the response is not in the same name space as request.
Hi Guys, I posted this one before but did not get any help.I can send any files u want to look at ?. thx pradeep. Why the response is not in the same name space as request. The request http://www.w3.org/2001/XMLSchema"; xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://beans";> http://beans";>After all its an alias1234 http://www.w3.org/2001/XMLSchema"; xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://beans";> After all its an alias1234 I'm having castor serialization problems because response and request are not in the same name space. Due to this when i try to unmarshell the response i get {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'AliasValue' in ClassDescriptor of AliasType at org.apache.axis.encoding.ser.castor.CastorDeserializer.onEndElement(CastorDeserializer.java:108) at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:544) at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1094) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:204) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:856) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:349) at org.apache.axis.client.Call.invoke(Call.java:2379) at org.apache.axis.client.Call.invoke(Call.java:2278) at org.apache.axis.client.Call.invoke(Call.java:1772) at stubs1.CastorServiceSoapBindingStub.addMember(CastorServiceSoapBindingStub.java:145) at client.TestClient.main(TestClient.java:36) The server code is in the directory stubs1 and serverconfig.wsddd in web-inf folder. thx pradeep This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
RE: 1.2 alpha and castor serialization
1. Castor generates special classes when you use the "xs:restriction" for simpleType in the schema. These special classes have no public constructors and can only be created via the use of "valueOf" method. Since Java doesn't provide "Enum" data types like C, C++ does, everyone has their own type-safe Enum implementation, and Castor is one of them. 2. You only need to add custom typeMappings into wsdd for these Enum type classes. The other generated classes are JavaBeans that have public no-arg constructors and hence are mappable using beanMappings tags in the wsdd file. 3. Yes. 4. Yes. The namespaces are read from the schema file and are not lost. The only thing that happens is that you now have control over the java package names. 5. Right, you don't need to give the client any custom serializer/deserializers, since the WSDL file will automatically contain the correct schema for generation. 6. Once you have the wsdd setup correctly on the server-side, generate the WSDL file by running the server and pointing to ?wsdl URI. Then feed this file into the Wsdl2Java class provided by Axis. As a matter of fact, you can feed the URL to WSDL directly into the generator. Here is a batch file snippet to run the Wsdl2Java generator: set axis.jar=%JAVALIBS%\jakarta\axis\1_1RC1\lib\axis.jar;%JAVALIBS%\jakarta\axis \1_1RC1\lib\saaj.jar;%JAVALIBS%\jakarta\axis\1_1RC1\lib\jaxrpc.jar;%JAVALIBS %\jakarta\axis\1_1RC1\lib\commons-logging.jar;%JAVALIBS%\jakarta\axis\1_1RC1 \lib\commons-discovery.jar set xerces.jar=%JAVALIBS%\jakarta\xerces\2.2.1\lib\xercesImpl.jar;%JAVALIBS%\jak arta\xerces\2.2.1\lib\xmlParserAPIs.jar set cp=%classpath%;%axis.jar%;%xerces.jar% java -cp %cp% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/server/axis/Services?wsdl There is also good documentation on the Axis website on how to use it, too. -Original Message- From: Pradeep Jonnalagadda [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 2:46 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Hi Ozzie, Thanks for the help. I have few questions based on ur email reply. 1. What are castor enum type classes. 2. Do i have to change typmapping for every entry in deploy.wsdd file to refer to CastorEnumTypeSerializorFactory/CastorEnumTypeSerializorFactory or only few selected castor classes files.If so what kind of castor files?? 3. Can we use Doc/literal with ur approach. 4.When you define namespaces package mappings in castorbuilder.properties file and generate source with source generator do you see namespace references in Descriptor files??. For example the descriptor code might look like this public AliasDescriptor() { super(); nsURI = "http://beans";; setExtendsWithoutFlatten(new beans.AliasTypeDescriptor()); xmlName = "Alias"; } //-- 5. Can i infer that i do not need to make any changes on client side .Can u send ur client code??. 6. How do you generate client code from thw wsdl?. Ur answers would help a, lot. thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. "Gurkan, Ozzie (MAN-Corporate)" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: 1.2 alpha and castor serialization 12/11/2003 01:04 PM Please respond to axis-user One other advantage to my approach is that the client side doesn't need the Castor Serializer/Deserializers at all--not even the enum type. That is because I allow the WSDL to be created by Axis Server automatically and hence the WSDL2Java creates pure Bean Serializer/Deserialzer code. As a matter of fact, I don't generate client code anymore. I just tell my clients to get the WSDL and generate it themselves. They have no clue that I am using Castor beans in the background! Ozzie -Original Message- From: Gurkan, Ozzie (MAN-Corporate) [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 1:37 PM To: '[EMAIL PROTECTED]' Subject: RE: 1.2 alpha and castor serialization Unlike the article, I don't include the XSD in the WSDL file. I let the automatic WSDL generation process that Axis does generate it for me. I do generate the castor classes (along with the *Descriptor classes) from the XSD file and define these as beanMappings:
RE: 1.2 alpha and castor serialization
I'm now getting pretty clear on this .One last question?. 1.For all other castor classes which are not enumtype should i use castorserializers ?. thx pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. "Gurkan, Ozzie (MAN-Corporate)" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: 1.2 alpha and castor serialization 12/11/2003 02:09 PM Please respond to axis-user 1. Castor generates special classes when you use the "xs:restriction" for simpleType in the schema. These special classes have no public constructors and can only be created via the use of "valueOf" method. Since Java doesn't provide "Enum" data types like C, C++ does, everyone has their own type-safe Enum implementation, and Castor is one of them. 2. You only need to add custom typeMappings into wsdd for these Enum type classes. The other generated classes are JavaBeans that have public no-arg constructors and hence are mappable using beanMappings tags in the wsdd file. 3. Yes. 4. Yes. The namespaces are read from the schema file and are not lost. The only thing that happens is that you now have control over the java package names. 5. Right, you don't need to give the client any custom serializer/deserializers, since the WSDL file will automatically contain the correct schema for generation. 6. Once you have the wsdd setup correctly on the server-side, generate the WSDL file by running the server and pointing to ?wsdl URI. Then feed this file into the Wsdl2Java class provided by Axis. As a matter of fact, you can feed the URL to WSDL directly into the generator. Here is a batch file snippet to run the Wsdl2Java generator: set axis.jar=%JAVALIBS%\jakarta\axis\1_1RC1\lib\axis.jar;%JAVALIBS% \jakarta\axis \1_1RC1\lib\saaj.jar;%JAVALIBS% \jakarta\axis\1_1RC1\lib\jaxrpc.jar;%JAVALIBS %\jakarta\axis\1_1RC1\lib\commons-logging.jar;%JAVALIBS% \jakarta\axis\1_1RC1 \lib\commons-discovery.jar set xerces.jar=%JAVALIBS%\jakarta\xerces\2.2.1\lib\xercesImpl.jar;%JAVALIBS% \jak arta\xerces\2.2.1\lib\xmlParserAPIs.jar set cp=%classpath%;%axis.jar%;%xerces.jar% java -cp %cp% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/server/axis/Services?wsdl There is also good documentation on the Axis website on how to use it, too. -Original Message- From: Pradeep Jonnalagadda [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 2:46 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Hi Ozzie, Thanks for the help. I have few questions based on ur email reply. 1. What are castor enum type classes. 2. Do i have to change typmapping for every entry in deploy.wsdd file to refer to CastorEnumTypeSerializorFactory/CastorEnumTypeSerializorFactory or only few selected castor classes files.If so what kind of castor files?? 3. Can we use Doc/literal with ur approach. 4.When you define namespaces package mappings in castorbuilder.properties file and generate source with source generator do you see namespace references in Descriptor files??. For example the descriptor code might look like this public AliasDescriptor() { super(); nsURI = "http://beans";; setExtendsWitho
RE: 1.2 alpha and castor serialization
Hi Ozzie, You have indicated earlier in one of ur mails that ur using beanserializers for non enum types .So did u code those BeanSerializers.If so could you send that code also. thanks a lot pradeep This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. "Gurkan, Ozzie (MAN-Corporate)" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: 1.2 alpha and castor serialization 12/11/2003 02:09 PM Please respond to axis-user 1. Castor generates special classes when you use the "xs:restriction" for simpleType in the schema. These special classes have no public constructors and can only be created via the use of "valueOf" method. Since Java doesn't provide "Enum" data types like C, C++ does, everyone has their own type-safe Enum implementation, and Castor is one of them. 2. You only need to add custom typeMappings into wsdd for these Enum type classes. The other generated classes are JavaBeans that have public no-arg constructors and hence are mappable using beanMappings tags in the wsdd file. 3. Yes. 4. Yes. The namespaces are read from the schema file and are not lost. The only thing that happens is that you now have control over the java package names. 5. Right, you don't need to give the client any custom serializer/deserializers, since the WSDL file will automatically contain the correct schema for generation. 6. Once you have the wsdd setup correctly on the server-side, generate the WSDL file by running the server and pointing to ?wsdl URI. Then feed this file into the Wsdl2Java class provided by Axis. As a matter of fact, you can feed the URL to WSDL directly into the generator. Here is a batch file snippet to run the Wsdl2Java generator: set axis.jar=%JAVALIBS%\jakarta\axis\1_1RC1\lib\axis.jar;%JAVALIBS% \jakarta\axis \1_1RC1\lib\saaj.jar;%JAVALIBS% \jakarta\axis\1_1RC1\lib\jaxrpc.jar;%JAVALIBS %\jakarta\axis\1_1RC1\lib\commons-logging.jar;%JAVALIBS% \jakarta\axis\1_1RC1 \lib\commons-discovery.jar set xerces.jar=%JAVALIBS%\jakarta\xerces\2.2.1\lib\xercesImpl.jar;%JAVALIBS% \jak arta\xerces\2.2.1\lib\xmlParserAPIs.jar set cp=%classpath%;%axis.jar%;%xerces.jar% java -cp %cp% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/server/axis/Services?wsdl There is also good documentation on the Axis website on how to use it, too. -Original Message- From: Pradeep Jonnalagadda [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 2:46 PM To: [EMAIL PROTECTED] Subject: RE: 1.2 alpha and castor serialization Hi Ozzie, Thanks for the help. I have few questions based on ur email reply. 1. What are castor enum type classes. 2. Do i have to change typmapping for every entry in deploy.wsdd file to refer to CastorEnumTypeSerializorFactory/CastorEnumTypeSerializorFactory or only few selected castor classes files.If so what kind of castor files?? 3. Can we use Doc/literal with ur approach. 4.When you define namespaces package mappings in castorbuilder.properties file and generate source with source generator do you see namespace references in Descriptor files??. For example the descriptor code might look like this public AliasDescriptor() { super(); nsURI = "htt
Zipping up stream?
Title: Message Has anyone messed around with trying to zip-up the input and output streams of the XML? I can imagine a huge performance improvement on large messages if both client and server side can put in support for zipping up the stream. Thanks, Ozzie Gurkan Manheim
Re: Zipping up stream?
Please see the following discussion: http://marc.theaimsgroup.com/?l=axis-dev&m=106086909809576&w=2 Good luck! Rick
RE: Zipping up stream?
Thanks, does this work with a standard generated axis client--one generated with WSDL2Java? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 4:22 PM To: [EMAIL PROTECTED] Subject: Re: Zipping up stream? Please see the following discussion: http://marc.theaimsgroup.com/?l=axis-dev&m=106086909809576&w=2 Good luck! Rick
RE: Zipping up stream?
No but a similar technique should be possible. This took me quite sometime to get working between .NET and Axis (6 weeks if I remember correctly). Be sure to contribute back if you get something working. Good luck! Rick > Thanks, does this work with a standard generated axis client--one generated > with WSDL2Java? > > -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Thursday, December 11, 2003 4:22 PM > To: [EMAIL PROTECTED] > Subject: Re: Zipping up stream? > > > Please see the following discussion: > > http://marc.theaimsgroup.com/?l=axis-dev&m=106086909809576&w=2 > > Good luck! > Rick
Castor Serializers
Hi Ozzie, I'm counting ur solution since castor serializer gives me "uable to find field descriptor " error messages.From what i understand u need castor enum serializers for enum types and for the rest of types beanserializers work.For bean serizliers to work with castor objects u must have made changes to bean serializer/deserializer code.Can u send me the code ?. that will be great. I'm awaiting for that thx again pradeep. This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. "Gurkan, Ozzie (MAN-Corporate)" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: Zipping up stream? 12/11/2003 03:24 PM Please respond to axis-user Thanks, does this work with a standard generated axis client--one generated with WSDL2Java? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 4:22 PM To: [EMAIL PROTECTED] Subject: Re: Zipping up stream? Please see the following discussion: http://marc.theaimsgroup.com/?l=axis-dev&m=106086909809576&w=2 Good luck! Rick
Help on name spaces in castor
Guys, ANy idea which file i have to change in order for the response look like request.The request is in http://beans";> whereas the response . Due to this im getting castor serializer problems thanks pradeep. Why the response is not in the same name space as request. The request http://www.w3.org/2001/XMLSchema"; xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://beans";> http://beans";>After all its an alias1234 http://www.w3.org/2001/XMLSchema"; xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://beans";> After all its an alias1234 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose.
...getting null values
Hi I have implemented the ServiceLifecycle interface method in my web service implementation class and trying to read some input parameters from my web.xml. But, I don't see the input parameters at all in my "init" method even though I am able to print out other details like the real path to a couple of folders. Any ideas? Would be extremely grateful if somebody can take a quick look at this and help. I looked for typos in the web.xml but couldn't find any. Went to the extent of copying the init parameter section from the "SOAPMonitorService" of the web.xml. Please see below for complete details - Configuration - Axis 1.1; Tomcat 4.1.27; Java version is 1.4.2. Output that comes on the console ( web.xml and code snippets are pasted after the output)- This is the init method of the service implementation- parameter names attribute names --- org.apache.catalina.jsp_classpath javax.servlet.context.tempdir org.apache.catalina.resources AxisEngine org.apache.catalina.WELCOME_FILES Getting parameter values.. firstParam null secondParam null Misc values extracted from context.. server into Apache Tomcat/4.1.27 real path of / C:\workarea\ebtcWebServices\ real path of /docs C:\workarea\ebtcWebServices\docs ctx.getMajorVersion() 2 ctx.getMinorVersion() 3 The relevant snippet from my web.xml - Apache-Axis AxisServlet Apache-Axis Servlet org.apache.axis.transport.http.AxisServlet firstParam firstValue secondParam secondValue My init method looks like this- - public void init(Object context) { System.out.println("This is the init method of the service implementation-"); ServletEndpointContext servletEndPointCtx = (ServletEndpointContext) context; ServletContext ctx = servletEndPointCtx.getServletContext(); System.out.println("parameter names "); Enumeration paramNames = ctx.getInitParameterNames(); while (paramNames.hasMoreElements()) { System.out.println(paramNames.nextElement()); } System.out.println(""); System.out.println(""); System.out.println("attribute names ---"); Enumeration attributes = ctx.getAttributeNames(); while (attributes.hasMoreElements()) { System.out.println(attributes.nextElement()); } System.out.println(""); System.out.println(""); System.out.println("Getting parameter values.."); System.out.println("firstParam "+ctx.getInitParameter("firstParam")); System.out.println("secondParam "+ctx.getInitParameter("secondParam")); System.out.println(""); System.out.println(""); System.out.println("Misc values extracted from context.."); System.out.println("server into "+ctx.getServerInfo() ); System.out.println("real path of / "+ ctx.getRealPath("/")); System.out.println("real path of /docs "+ ctx.getRealPath("/docs")); System.out.println("ctx.getMajorVersion() "+ctx.getMajorVersion()); System.out.println("ctx.getMinorVersion() "+ctx.getMinorVersion()); } -- Thanks Srinivas
Re: Bug? JAX-RPC handlers on the client
Hi! You're right - the figures show very well why there are different orders on the client and the server for system-specific, global and transport- specific chains. But that wasn't the question :-) The question was about what's not explained in the figures: why are the JAX-RPC handlers invoked between global and transport-specific chains on the client, while they are called between global and system-specific chain on the server. Regards, Thilo Christoph Tratter wrote: Hi Thilo! In the Axis Architecture Guide (http://ws.apache.org/axis/java/architecture-guide.html) the behaviour you describe is explained to be intended. (Beside points 3 and 7, which are not explained). Imho the figures show very well, why there's a different order of chains on server and client side. cheers, Christoph Thilo Frotscher wrote: Hi! Browsing the source code of Axis 1.2 alpha I found out, that the order in which handlers are called on the client side is as follows: 1) Service Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Transport Specific Request Chain 5) Send SOAP message to service 6) Transport Specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Service specific Response Chain Question: why are JAX-RPC handlers called between global chain and transport specific chain? Shouldn't they be called between service specific chain and global chain? After all, the JAX-RPC-handler chain is service specific and therefore configures inside a service configuration. On the server side, the order is like I would have expected it: 1) Transport Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Service Specific Request Chain 5) invoke web service 6) Service specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Transport Specific Response Chain Is the behaviour on the client a bug? Thanks, Thilo
tomcat + axis - .jws not working
Hi all. Firstly, although I already have tomcat running Citrix NFuse, I'm very new to the whole thing. I'm attempting to use Tomcat to serve axis for soap communication, and I've run across a problem. Firstly, happyaxis.jsp appears to be happy: - Examining webapp configuration Needed Components Found SAAJ API (javax.xml.soap.SOAPMessage) at /opt/tomcat/webapps/axis/WEB-INF/lib/saaj.jar Found JAX-RPC API (javax.xml.rpc.Service) at /opt/tomcat/webapps/axis/WEB-INF/lib/jaxrpc.jar Found Apache-Axis (org.apache.axis.transport.http.AxisServlet) at /opt/tomcat/webapps/axis/WEB-INF/lib/axis.jar Found Jakarta-Commons Discovery (org.apache.commons.discovery.Resource) at /opt/tomcat/webapps/axis/WEB-INF/lib/commons-discovery.jar Found Jakarta-Commons Logging (org.apache.commons.logging.Log) at /opt/tomcat/webapps/axis/WEB-INF/lib/commons-logging.jar Found Log4j (org.apache.log4j.Layout) at /opt/tomcat/webapps/axis/WEB-INF/lib/log4j-1.2.8.jar Found IBM's WSDL4Java (com.ibm.wsdl.factory.WSDLFactoryImpl) at /opt/tomcat/webapps/axis/WEB-INF/lib/wsdl4j.jar Found JAXP implementation (javax.xml.parsers.SAXParserFactory) at an unknown location Found Activation API (javax.activation.DataHandler) at /usr/share/tomcat/lib/activation.jar Optional Components Found Mail API (javax.mail.internet.MimeMessage) at /usr/share/tomcat/lib/mail.jar Warning: could not find class org.apache.xml.security.Init from file xmlsec.jar XML Security is not supported See http://xml.apache.org/security/ Found Java Secure Socket Extension (javax.net.ssl.SSLSocketFactory) at an unknown location The core axis libraries are present. 1 optional axis library is missing --- Version?method=getVersion also looks fine: - - - http://schemas.xmlsoap.org/soap/encoding/";> - Apache Axis version: 1.1 Built on Jun 13, 2003 (09:19:43 EDT) - My problem arises when I attempt to run the jws files such as /axis/EchoHeaders.jws?method=list It appears that Tomcat is not recognising that it needs to process these files, and instead just prints its content. Forgive me if this is a simple and very stupid problem - as I said, I'm new to this so I'm just running through all the tests. Thanks in advance for any help. - Speak when you are angry--and you will make the best speech you'll ever regret. Laurence J. Peter (1919 - 1988) _ Tired of slow downloads and busy signals? Get a high-speed Internet connection! Comparison-shop your local high-speed providers here. https://broadband.msn.com
Re: ...getting null values
ServiceLifecycle params and web.xml init params have nothing to do with each other. Service params are configured in your WSDD. Furthermore, ServiceLifecycle init method will NOT be called if implement it in your *Impl class. You must implement it in your *Skeleton class (modify the generated source). If you want your *Impl class to implement it, you must implement it in your Skeleton then manually call down to the implementation. My expectation was that ServiceLifecycle would apply to the *Impl class, and I would would vote to change this behavior so that is the case. Aaron Hamid I-Sampige, Srinivas wrote: Hi I have implemented the ServiceLifecycle interface method in my web service implementation class and trying to read some input parameters from my web.xml. But, I don't see the input parameters at all in my "init" method even though I am able to print out other details like the real path to a couple of folders. Any ideas? Would be extremely grateful if somebody can take a quick look at this and help. I looked for typos in the web.xml but couldn't find any. Went to the extent of copying the init parameter section from the "SOAPMonitorService" of the web.xml. Please see below for complete details - Configuration - Axis 1.1; Tomcat 4.1.27; Java version is 1.4.2. Output that comes on the console ( web.xml and code snippets are pasted after the output)- This is the init method of the service implementation- parameter names attribute names --- org.apache.catalina.jsp_classpath javax.servlet.context.tempdir org.apache.catalina.resources AxisEngine org.apache.catalina.WELCOME_FILES Getting parameter values.. firstParam null secondParam null Misc values extracted from context.. server into Apache Tomcat/4.1.27 real path of / C:\workarea\ebtcWebServices\ real path of /docs C:\workarea\ebtcWebServices\docs ctx.getMajorVersion() 2 ctx.getMinorVersion() 3 The relevant snippet from my web.xml - Apache-Axis AxisServlet Apache-Axis Servlet org.apache.axis.transport.http.AxisServlet firstParam firstValue secondParam secondValue My init method looks like this- - public void init(Object context) { System.out.println("This is the init method of the service implementation-"); ServletEndpointContext servletEndPointCtx = (ServletEndpointContext) context; ServletContext ctx = servletEndPointCtx.getServletContext(); System.out.println("parameter names "); Enumeration paramNames = ctx.getInitParameterNames(); while (paramNames.hasMoreElements()) { System.out.println(paramNames.nextElement()); } System.out.println(""); System.out.println(""); System.out.println("attribute names ---"); Enumeration attributes = ctx.getAttributeNames(); while (attributes.hasMoreElements()) { System.out.println(attributes.nextElement()); } System.out.println(""); System.out.println(""); System.out.println("Getting parameter values.."); System.out.println("firstParam "+ctx.getInitParameter("firstParam")); System.out.println("secondParam "+ctx.getInitParameter("secondParam")); System.out.println(""); System.out.println(""); System.out.println("Misc values extracted from context.."); System.out.println("server into "+ctx.getServerInfo() ); System.out.println("real path of / "+ ctx.getRealPath("/")); System.out.println("real path of /docs "+ ctx.getRealPath("/docs")); System.out.println("ctx.getMajorVersion() "+ctx.getMajorVersion()); System.out.println("ctx.getMinorVersion() "+ctx.getMinorVersion()); } -- Thanks Srinivas
Re: Help Abt WSDD
hi copy and paste those tag manually to the server-config file. hope it will work regards vtpavan > I cannot include and in the > server-config.wsdd file. > Otherwise its working > > - Original Message - > From: "Jaspreet Singh" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, December 11, 2003 5:50 PM > Subject: RE: Help Abt WSDD > >> Hi >> >> > -Original Message- >> > From: Dhanush Gopinath [mailto:[EMAIL PROTECTED] >> > Sent: Thursday, December 11, 2003 5:31 PM >> >> > My Problem is after executing this the details abt the >> > WebService are not >> > updated in the server-config.wsdd file. >> >> the adminclient has some known bugs. so try deploying the service > manually. >> the documentation is explicit about this. >> >> Regards >> Jaspreet >> >> ** >> Scanned by eScan Content-Security and Anti-Virus Software. >> Visit http://www.mwti.net for more info on eScan and MailScan. >> ** >> >> > > ** > Scanned by eScan Content-Security and Anti-Virus Software. > Visit http://www.mwti.net for more info on eScan and MailScan. > ** > > * > Disclaimer > > This message (including any attachments) contains > confidential information intended for a specific > individual and purpose, and is protected by law. > If you are not the intended recipient, you should > delete this message and are hereby notified that > any disclosure, copying, or distribution of this > message, or the taking of any action based on it, > is strictly prohibited. > > * > Visit us at http://www.mahindrabt.com