RE: gzip support
Hi Tom, (B (B I have a question for this matter. (B (B AXIS has two implementations of "Handler"; one is "AXIS Handler" (Bas the AXIS original, and the other is "JAX-RPC Handler" as the (Bstandard implementation in accordance with JAX-RPC ver 1.0 spec. (B (B The AXIS original architecture has extensibility as you say. (BHowever, it doesn't follow the JAX-RPC ver 1.0 spec. at the point (Bof "Handler implementation", currently. (B (B How do you think what AXIS should choice of the future style (Bfor the AXIS handler implementations ? (i.e. Both AXIS original (Band JAX-RPC , or JAX-RPC only, or ... ???) (B The AXIS Project has already decided the direction ? (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: Tom Jordahl [mailto:[EMAIL PROTECTED]] (BSent: Tuesday, January 07, 2003 6:26 AM (BTo: '[EMAIL PROTECTED]' (BCc: '[EMAIL PROTECTED]' (BSubject: RE: gzip support (B (BYou should be able to write "Handlers" for Axis that will process (Bthe messages (both client and server) on the way in/out. (BThis would allow you to support gzip'd data transparently. (B (BThis is how Axis is designed, to be extensible. See the documentation (Bfor architecture details. (B (BNote that on the client, you configure the handlers in the (B'client-config.wsdd' file, pretty much the same way you do in the (Bserver-config.wsdd file. (B (BHope this helps point you in the right diirection. (B (B-- (BTom Jordahl (BMacromedia Server Development (B (B-Original Message- (BFrom: Brian W. Young [mailto:[EMAIL PROTECTED]] (BSent: Friday, December 20, 2002 8:56 AM (BTo: [EMAIL PROTECTED] (BCc: [EMAIL PROTECTED] (BSubject: Re: gzip support (B (BYaron, (B (BI believe you are correct- thank you for clarifying. I hope others (Bunderstand now as this can be powerful stuff if you have large messages. (B (B I've put a J2EE CompressionFilter class in front of the axis web (Bapplication. This is simply the CompressionFilter that ships with (BTomcat as an example. I believe this will compress the data outbound (Bfrom the server to the client w/o much difficulty. (B (BAs you say, the client is another issue. I'm not sure I'll have enough (Bcontrol as a user of the Axis API on the client to have it unwrap as a (BGZipOutputStream. It looks like all the IO stuff is pretty wrapped up (Band hidden from the user. Somehow I need to make the client capable of (Bthis. Anybody have ideas? I'm new to Axis so c someone suggest a class (BI might hack this functionality in to? (B (BThanks (B (BYaron Zakai wrote: (B (BHi, (B (B It looks like gzip support should be defined: (B (B The generated XML is gzip-ed, and the transport sends it as gzip content. (BThe receiver is involved as well, so axis client should support this as (Bwell. (B (B This means that even the apache connector is used on the server side, (Bthere (Bshould be support for this on the client side. (B (BThanks, Yaron. (B (B-Original Message- (BFrom: Chris Schaefer [mailto:[EMAIL PROTECTED]] (BSent: Friday, December 20, 2002 8:43 AM (BTo: [EMAIL PROTECTED] (BSubject: Re: gzip support (B (B (BHTTP has the option of some sort of compression. (zip, gzip? ) (BSo in theory the entire SOAP message can be compressed during transit. In (Bthinking about it, it's possible that this might be more a function (Bof Tomcat ( assuming that's what's hosting your axis servlet ), than (Bof Axis. (BFinally if you use the apache connector between apache and tomcat, you (Bcould (Bprobably get apache to do this compression for you (B (BAt 1:30 PM +0900 12/20/02, Toshiyuki Kimura wrote: (B (BHi Brian, (B (B Do you mean that you want to transfer a gzip file via AXIS (Bby using SOAP? If I understood what you said properly, you've (Bjust to implement a SwA(SOAP Messages with Attachments). (B (B Here is the spec: http://www.w3.org/TR/SOAP-attachments (B (B In addition, you will meet the sample code of SwA at the (B"axis-1_1beta\samples\attachments" in your environment. (B (BBest Regards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corporation (B (B-Original Message- (BFrom: Brian W. Young [mailto:[EMAIL PROTECTED]] (BSent: Friday, December 20, 2002 5:21 AM (BTo: [EMAIL PROTECTED] (BSubject: gzip support (B (BI believe someone posted this question a couple weeks ago with no reply. (B Perhaps I'll have better luck. (B (BDoes Axis support gzip streams? This is very important to me, because I (Bam sending a lot of data. With home-grown code, I've witnessed a 2 meg (Bdocument get compressed to 56K for an incredible boost in performance. (B (BPlease advise, and thank you. (BBrian
deployment descriptor issues
Deploying AXIS services ... - Processing file /myapp/WEB-INF/de ployaxis.wsdd - Problem with servlet engine config file: /myabp//WEB-INF/server-config.wsdd This is the message I get when I deploy my service using AdminClient programmatically. This is a success, though - I am able to use the webservice. But what is that Problem with servlet engine config file? Thanks Rf __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Problem with beanMapping
Hello, I have problem with beanMapping. I can invoke the method of the service correctly with a Java Axis client but all the field of my object are 0 or null. However when I try the url in a navigator to try the call of the method ( http://localhost/jgeneaws/services/JGeneaService?method=getCommune ), I have the good xml with the good values in the good fields of my bean... My source files: deply.wsdd - deployment name=deploy xmlns=http://xml.apache.org/axis/wsdd/; xmlns:java=http://xml.apache.org/axis/wsdd/providers/java; xmlns:xsd=http://www.w3.org/2000/10/XMLSchema; xmlns:xsi=http://www.w3.org/2000/10/XMLSchema-instance; service name=JGeneaService provider=java:RPC parameter name=className value=org.genealogie.service.JGeneaService/ parameter name=allowedMethods value=*/ beanMapping qname=myNS:CommuneUtils xmlns:myNS=urn:JGeneaService languageSpecificType=java:org.genealogie.utils.CommuneUtils/ /service /deployment Client.java - Service service = new Service(); Call call = (Call) service.createCall(); // *1* String endpoint=http://localhost/jgeneaws/services/JGeneaService;; call.setTargetEndpointAddress(new java.net.URL(endpoint)); QName qnCommune=new QName(urn:JGeneaService,CommuneUtils); call.registerTypeMapping(CommuneUtils.class,qnCommune, new org.apache.axis.encoding.ser.BeanSerializerFactory(CommuneUtils.class,qnCommune), new org.apache.axis.encoding.ser.BeanDeserializerFactory(CommuneUtils.class,qnCommune) ); call.setOperationName(getCommune); call.setReturnType(qnCommune); CommuneUtils commune=(CommuneUtils)call.invoke( new Object [] { } ); System.out.println(commune.getId()+/+commune.getNom()+/+commune.getDepartementId()+/+commune.getDepartementNom()); JGeneaService.java - public class JGeneaService { public JGeneaService() { } public CommuneUtils getCommune() { CommuneUtils commune=new CommuneUtils(14,ma commune,-,77,Seine-et-Marne,77,1,France); System.out.println(commune.getId()+/+commune.getNom()+/+commune.getDepartementId()+/+commune.getDepartementNom()); return commune; } } The last System.out.println writes 0/null/0/null Has anybody already had this problem? Thanks for your help. _ MSN 8: advanced junk mail protection and 2 months FREE*. http://join.msn.com/?page=features/junkmail
common/lib-directory
Hi ng, which jars do really have to be in CATALINA_HOME/common/lib-directory? Is it enough if to place saaj and jaxrpc over there? The question occurs because I still have the problem that on serverside my tomcat print the stacktrace if an exception occurs. On client side I managed the same problem by assuring that log4j is knwon by the client-app. But putting that log4j into common/lib did not have the expected success. When I then tried with commons-logging and discovery I git an internal server exception 500 from Tomcat, that says he was not able to load the servlet AdminServlet. Is this a problem of placing the jars in the right directories? You know its not too important, but very unaesthetic, if in tomcat window there are all the excpeion printed, that occured while the server is running. thanks in advance and greetings from Hamburg/Germany Seppo
AW: Problem with beanMapping
Hi, I think that looks like your bean can not be deserialized correctly. I see no difference to way I did it and it worked. Are you sure your bean does match the guidelines of JavaBeans? If yes: did you try to deploy the beanmapping in your client-config.wsdd? This should not make the difference, but who knows... hope that could help greetings from Hamburg/Germany Seppo -Ursprüngliche Nachricht- Von: Th Templ [mailto:[EMAIL PROTECTED]] Gesendet: Dienstag, 7. Januar 2003 10:26 An: [EMAIL PROTECTED] Betreff: Problem with beanMapping Hello, I have problem with beanMapping. I can invoke the method of the service correctly with a Java Axis client but all the field of my object are 0 or null. However when I try the url in a navigator to try the call of the method ( http://localhost/jgeneaws/services/JGeneaService?method=getCommune ), I have the good xml with the good values in the good fields of my bean... My source files: deply.wsdd - deployment name=deploy xmlns=http://xml.apache.org/axis/wsdd/; xmlns:java=http://xml.apache.org/axis/wsdd/providers/java; xmlns:xsd=http://www.w3.org/2000/10/XMLSchema; xmlns:xsi=http://www.w3.org/2000/10/XMLSchema-instance; service name=JGeneaService provider=java:RPC parameter name=className value=org.genealogie.service.JGeneaService/ parameter name=allowedMethods value=*/ beanMapping qname=myNS:CommuneUtils xmlns:myNS=urn:JGeneaService languageSpecificType=java:org.genealogie.utils.CommuneUtils/ /service /deployment Client.java - Service service = new Service(); Call call = (Call) service.createCall(); // *1* String endpoint=http://localhost/jgeneaws/services/JGeneaService;; call.setTargetEndpointAddress(new java.net.URL(endpoint)); QName qnCommune=new QName(urn:JGeneaService,CommuneUtils); call.registerTypeMapping(CommuneUtils.class,qnCommune, new org.apache.axis.encoding.ser.BeanSerializerFactory(CommuneUtils.class,qnComm une), new org.apache.axis.encoding.ser.BeanDeserializerFactory(CommuneUtils.class,qnCo mmune) ); call.setOperationName(getCommune); call.setReturnType(qnCommune); CommuneUtils commune=(CommuneUtils)call.invoke( new Object [] { } ); System.out.println(commune.getId()+/+commune.getNom()+/+commune.getDepar tementId()+/+commune.getDepartementNom()); JGeneaService.java - public class JGeneaService { public JGeneaService() { } public CommuneUtils getCommune() { CommuneUtils commune=new CommuneUtils(14,ma commune,-,77,Seine-et-Marne,77,1,France); System.out.println(commune.getId()+/+commune.getNom()+/+commune.getDepar tementId()+/+commune.getDepartementNom()); return commune; } } The last System.out.println writes 0/null/0/null Has anybody already had this problem? Thanks for your help. _ MSN 8: advanced junk mail protection and 2 months FREE*. http://join.msn.com/?page=features/junkmail
Re: common/lib-directory
Hi Seppo, (B (B Is it still a issue for the axis-user-ml ? :)- (B (B You'd better provide your environment information at the least, (BOS version, JVM version, ant TOMCAT version. (B (B And, did you already refer the Jakarta Project page ? The following (Bis an info. regarding the log for tomcat version 5.0. (B (Bhttp://jakarta.apache.org/tomcat/tomcat-5.0-doc/config/logger.html (B (B It includes the setting attribute for "verbosity" and many useful (Bnotes. If you want to know more deeply, how do you like to visit at (Bthe jakarta-user-ml ? (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: [EMAIL PROTECTED] (B[mailto:[EMAIL PROTECTED]] (BSent: Tuesday, January 07, 2003 6:38 PM (BTo: [EMAIL PROTECTED] (BSubject: common/lib-directory (B (BHi ng, (B (Bwhich jars do really have to be in CATALINA_HOME/common/lib-directory? Is it (Benough if to place saaj and jaxrpc over there? (BThe question occurs because I still have the problem that on serverside my (Btomcat print the stacktrace if an exception occurs. On client side I managed (Bthe same problem by assuring that log4j is knwon by the client-app. But (Bputting that log4j into common/lib did not have the expected success. When I (Bthen tried with commons-logging and discovery I git an internal server (Bexception 500 from Tomcat, that says he was not able to load the servlet (BAdminServlet. (B (BIs this a problem of placing the jars in the right directories? You know its (Bnot too important, but very unaesthetic, if in tomcat window there are all (Bthe excpeion printed, that occured while the server is running. (B (Bthanks in advance and greetings from Hamburg/Germany (BSeppo
RE: Sessions for axis and tomcat.
Hi Eriam, (B (B For example if I add an object in the axis session it will *not* be in (B the HttpSession right ? (B (B I think this is right. The current axis session is implemented (Bas a Hashtable on the AXIS runtime instance, and also the life cycle (Bof the session object is the same as a http connection except the (Btesting server (SimpleAxisServer). (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: Eriam Schaffter [mailto:[EMAIL PROTECTED]] (BSent: Friday, January 03, 2003 10:40 PM (BTo: [EMAIL PROTECTED]; [EMAIL PROTECTED] (BSubject: Sessions for axis and tomcat. (B (BHi lists .. (B (BI was wondering if sessions created with axis this way: (B (BMessageContext msgContext = MessageContext.getCurrentContext(); (BSession session = msgContext.getSession(); (B (BAnd sessions from tomcat (HttpSession) are sharing the same datas. (B (BFor example if I add an object in the axis session it will *not* be in (Bthe HttpSession right ? Or will it ? (B (BMaybe I have to synchronize ? (B (BEriam
Container and Thread Relationships in Axis
Hi all, I'm working on a book about Web Services and I'm using Axis for the Web Services platform. It plays a secondary roll in the book, though I find myself leaking some information about Axis in, especially around deployment and how it processes a Web Service request. I'm stuck on an execution scenario and I was hoping I could get some help here. As far as I can tell, each service implementation is loaded by its own class loader and I suspect that each implementation runs in its own thread (not first-class process). The thread probably gets started by the transport listener as it gets to a request handler but I can't tell for sure...I just started parsing code. If I were to draw a simplified deployment diagram using boxes for threads, I believe I would have Outer: Tomcat:Thread (Container) Middle: Axis:Thread (Container) Inside: Service Runner:Thread Inside the Service Runner, an object that denotes the instantiation of the service class. So, my questions are... - Is there a better word for the service runner used in Axis? - Are the thread relationships correct? - Who originates the thread that runs the service, is it the transport listener or a request handler? That's it. I do have a suggestion...that some information like this gets added to the architecture document. It seems this would be invaluable for someone to get involved in the code. Paul B. Monday [EMAIL PROTECTED] Apress!
Re: Axis Wiki / Axis Usage Page
Well...Users are welcome to submit patches to docs :) --- Dan Diephouse [EMAIL PROTECTED] wrote: Speaking of documentation, the axis website sucks. It would be nice if Maven or Forrest were used to generate a decent, navigable, readable site. (Not to mention maven could also clean up the build system ;) ). - Dan Diephouse Davanum Srinivas wrote: Hi all, nagoya now hosts a Wiki. We could use this to write shared documentation etc... The main page for Axis is at: http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages I also started a page with details on vendors/projects who use/bundle axis: http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/AxisBeingUsed Feel free to add your own information/ideas/thoughts. Thanks, dims = Davanum Srinivas - http://xml.apache.org/~dims/ = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Re: AxisServlet - How does it instantiate service objects ?
Yes, I did figure out how to do that. I found some examples on-line. (It may be my problem, but it looks like that little gem of information is missing in the Axis 1.0 docs). At any rate, in pursuit of some additional flexibility, I am still interested in using dynamic proxies to invoke SLSBs in Axis. //Nicholas --- Gene Chuang [EMAIL PROTECTED] wrote: I remember reading somewhere in the docs that axis can automatically generate Web services stubs to SLSBs, so there shouldn't be a need to write your own DP layer. Not sure now where the link is, maybe someone else can chime in... Nicholas [EMAIL PROTECTED] wrote:I am attempting to create a low-code-required solution to expose Session EJBs via Axis. I was hoping to make the actual Axis cervice classes be implemented as dynamic proxies that would direct actual invocation to EJBRemote objects. The problem is, I think the AxisServlet (or whichever specific class does this) does not support classes that have private constructors, and for my dynamic proxy, I need the invoker to use a getInstance() method instead. Any ideas ? //Nicholas = Nicholas Whitehead Home: (973) 377 9335 Cell: (201) 615 2716 Work: (212) 622 5639 [EMAIL PROTECTED] = Nicholas Whitehead Home: (973) 377 9335 Cell: (201) 615 2716 Work: (212) 622 5639 [EMAIL PROTECTED]
wsif - complex type/java bean mapping
Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
RE: Initial Axis 1.1b Install Failure Build Error
Tim, I don't run Tomcat, so I can't help you there. I am sorry about the commons-httpclient problems, if its any help I have a version with sources dated 7/30/2002 and it builds fine. The nightly Gump builds are performed against the lastest versions of all the Apache sources, and I believe it does this for commons-httpclient too. So this is why you should not have problems with a recent source drop from them. -- Tom Jordahl Macromedia Server Development -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, January 06, 2003 6:13 PM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Tom - Thanks for a reply. :-) Problem #1: You fixed by upgrading Tomcat - from the original error, you have CLASSPATH issues since org/apache/axis/MessageContext is a pretty basic class. It's not actually fixed, since in production, we are still running 3.2.x - so if I can't get this figured out, I can't deploy. Doh! My colleage and myself both installed according to the directions. Has anyone else gotten 1.1 running on Tomcat 3.2.x? Problem #2: You have the wrong version of the commons-http.jar file. Try compiling with the latest nightly build, not the latest release. (don't ask ME why this is.. :-) Hmm... okay, I won't ask, but I did follow the Axis setup directions explicitly... anyway, I'll try that, thanks. ;-) Hope this helps. Thanks - any reply is better than none. :-) Still, it would be nice to find out if anyone has run 1.1 on Tomcat 3.2.1. Cheers, Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, December 23, 2002 8:53 AM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Replying to myself here...at least to keep the thread alive - still hoping for additional help. ;-) I loaded up Axis 1.1b inside Tomcat 4.1.18 and it runs swimmingly. No errors. The 3.2.1 issue appears to be a classpath problem of some sort. Can anybody get 1.1b to run in Tomcat 3.2.1? Thanks! Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Friday, December 20, 2002 9:45 AM To: [EMAIL PROTECTED] Subject: Initial Axis 1.1b Install Failure Build Error Hey folks - I've run Axis before, but I'm starting fresh with 1.1beta and running into two problems - the first is EchoHeaders throwing an InvocationTargetException when using the binary DIST of Axis, the second is a compile problem while trying to build Axis from src with -ALL- of the optional libraries (but narrowed down to the HTTPClient lib I think). Problem #1: Following the 1.1 install instructions, myself and a colleage have both reproduced the following Fault (below). We are using the binary dist of 1.1 with Tomcat 3.2.1 and JSDK 1.3.1_02. happyaxis.jsp reports back success finding everything. The View works, and so does the 'show me the wsdl' url...but http://localhost:8080/axis/EchoHeaders.jws?method=list throws this fault: AXIS error Sorry, something seems to have gone wrong... here are the details: Fault - java.lang.reflect.InvocationTargetException AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.reflect.InvocationTargetException faultActor: null faultNode: null faultDetail: stackTrace: java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError: org/apache/axis/MessageContext at EchoHeaders.getRequest(EchoHeaders.java:112) at EchoHeaders.list(EchoHeaders.java:73) at java.lang.reflect.Method.invoke(Native Method) (snipped) Problem #2: Figuring that maybe something in the build was fubar... I decided to start from src and build my own. :-) Followed the excellent build instructions and after a little bit of time, compiled and built the 'bare bones' jars. Tried these jars in tomcat - but it wouldn't work because the servlet stuff wasn't compiled in (I assume that's why.) So I spent the next hour or so pulling down and expanding ALL of the other optional jars. (I should be up to date now for any Jakarta project I care to build...heh heh). I try to compile...but get compile errors. If I yank out the commons-httpclient.jar, it compiles fine. Here are the errors: [echo] classpath: D:\java\xml-axis\java\${xerces.jar};D:\java\xml-axis\java \test\lib\jakarta-oro-2.0.5.jar;D:\java\xml-axis\java\lib\jsse.jar;D:\ja va\xml-a xis\java\lib\JimiProClasses.zip;D:\java\xml-axis\java\lib\activation.jar ;D:\java \xml-axis\java\lib\mailapi.jar;D:\java\jdk1.3.1_02\lib\tools.jar;D:\java \xml-axi s\java\${j2ee.jar};D:\java\xml-axis\java\lib\junit.jar;D:\java\xml-axis\ java\lib \castor-0.9.4.1.jar;D:\java\xml-axis\java\lib\commons-discovery.jar;D:\j ava\xml- axis\java\lib\commons-httpclient.jar;D:\java\xml-axis\java\lib\commons-l ogging.j ar;D:\java\xml-axis\java\lib\jcert.jar;D:\java\xml-axis\java\lib\jms.jar ;D:\java
Castor Serialization Example?
Has anyone got a good Castor serialization/deserialization example including mapping file, etc. James Carman, President Carman Consulting, Inc. 1218 Bob White Ct. Edgewood, KY 41018 (513) 325-7977 smime.p7s Description: application/pkcs7-signature
RE: gzip support
(BWe will always support the JAX-RPC way of doing things, but that doesn't mean that (BAxis specific handlers aren't a good thing. (B (BPick whichever one you think will get the job done. I would prefer JAX-RPC is you (Bthink you would ever want this handler to move to some other engine. (B (BPlease consider contributing the handlers to the project if/when you complete them, I (Bam sure many other may want to do a similar thing. (B (B-- (BTom Jordahl (BMacromedia Server Development (B (B (B (B-Original Message- (BFrom: Toshiyuki Kimura [mailto:[EMAIL PROTECTED]] (BSent: Tuesday, January 07, 2003 3:53 AM (BTo: [EMAIL PROTECTED] (BCc: Tom Jordahl (BSubject: RE: gzip support (B (B (BHi Tom, (B (B I have a question for this matter. (B (B AXIS has two implementations of "Handler"; one is "AXIS Handler" (Bas the AXIS original, and the other is "JAX-RPC Handler" as the (Bstandard implementation in accordance with JAX-RPC ver 1.0 spec. (B (B The AXIS original architecture has extensibility as you say. (BHowever, it doesn't follow the JAX-RPC ver 1.0 spec. at the point (Bof "Handler implementation", currently. (B (B How do you think what AXIS should choice of the future style (Bfor the AXIS handler implementations ? (i.e. Both AXIS original (Band JAX-RPC , or JAX-RPC only, or ... ???) (B The AXIS Project has already decided the direction ? (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: Tom Jordahl [mailto:[EMAIL PROTECTED]] (BSent: Tuesday, January 07, 2003 6:26 AM (BTo: '[EMAIL PROTECTED]' (BCc: '[EMAIL PROTECTED]' (BSubject: RE: gzip support (B (BYou should be able to write "Handlers" for Axis that will process (Bthe messages (both client and server) on the way in/out. (BThis would allow you to support gzip'd data transparently. (B (BThis is how Axis is designed, to be extensible. See the documentation (Bfor architecture details. (B (BNote that on the client, you configure the handlers in the (B'client-config.wsdd' file, pretty much the same way you do in the (Bserver-config.wsdd file. (B (BHope this helps point you in the right diirection. (B (B-- (BTom Jordahl (BMacromedia Server Development (B (B-Original Message- (BFrom: Brian W. Young [mailto:[EMAIL PROTECTED]] (BSent: Friday, December 20, 2002 8:56 AM (BTo: [EMAIL PROTECTED] (BCc: [EMAIL PROTECTED] (BSubject: Re: gzip support (B (BYaron, (B (BI believe you are correct- thank you for clarifying. I hope others (Bunderstand now as this can be powerful stuff if you have large messages. (B (B I've put a J2EE CompressionFilter class in front of the axis web (Bapplication. This is simply the CompressionFilter that ships with (BTomcat as an example. I believe this will compress the data outbound (Bfrom the server to the client w/o much difficulty. (B (BAs you say, the client is another issue. I'm not sure I'll have enough (Bcontrol as a user of the Axis API on the client to have it unwrap as a (BGZipOutputStream. It looks like all the IO stuff is pretty wrapped up (Band hidden from the user. Somehow I need to make the client capable of (Bthis. Anybody have ideas? I'm new to Axis so c someone suggest a class (BI might hack this functionality in to? (B (BThanks (B (BYaron Zakai wrote: (B (BHi, (B (B It looks like gzip support should be defined: (B (B The generated XML is gzip-ed, and the transport sends it as gzip content. (BThe receiver is involved as well, so axis client should support this as (Bwell. (B (B This means that even the apache connector is used on the server side, (Bthere (Bshould be support for this on the client side. (B (BThanks, Yaron. (B (B-Original Message- (BFrom: Chris Schaefer [mailto:[EMAIL PROTECTED]] (BSent: Friday, December 20, 2002 8:43 AM (BTo: [EMAIL PROTECTED] (BSubject: Re: gzip support (B (B (BHTTP has the option of some sort of compression. (zip, gzip? ) (BSo in theory the entire SOAP message can be compressed during transit. In (Bthinking about it, it's possible that this might be more a function (Bof Tomcat ( assuming that's what's hosting your axis servlet ), than (Bof Axis. (BFinally if you use the apache connector between apache and tomcat, you (Bcould (Bprobably get apache to do this compression for you (B (BAt 1:30 PM +0900 12/20/02, Toshiyuki Kimura wrote: (B (BHi Brian, (B (B Do you mean that you want to transfer a gzip file via AXIS (Bby using SOAP? If I understood what you said properly, you've (Bjust to implement a SwA(SOAP Messages with Attachments). (B (B Here is the spec: http://www.w3.org/TR/SOAP-attachments (B (B In addition, you will meet the sample code of SwA at the (B"axis-1_1beta\samples\attachments" in your environment. (B (BBest Regards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corporation (B
Websphere 4.0 Axis 1.0
Hi: I have successfully used a beta version of axis within websphere 4.0. What would I need to do to get the latest release version of axis to work with websphere 4.0? Is it a metter of just replacing axis.jar? I tried this with unsuccessful results. Any ideas? Regards, Harry J. Kobetitsch UBS Warburg One North Wacker Drive Chicago, Illinois 60606-2809 312-525-5866 [EMAIL PROTECTED] Visit our website at http://www.ubswarburg.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments.
Articles on Apache Axis
It's a Wiki, So feel free to add your own links/pages Articles: http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/Articles MainPage: http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages Thanks, dims = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
SOAP header-based sessions and .NET
Title: Message Hi! I've a service in Axis that uses SOAP header-based sessions it works fine but if I wan't to use this service from a C# program how do I add the sessionID to the SOAP header in the request? Regards! /Niklas
RE: SOAP header-based sessions and .NET
Title: Message If you WSDL contains the corresponding SOAP header information at the right place, then .NET will pick it up automatically and the generated code when adding the web reference will take care of it automatically (check WSDL spec to see how SOAP headers are declared in the WSDL). One thing to be aware of: .NET cannot handle the header automatically if it is not a complex type (if it is just one element of type xsd:string like it is in thesoap header session handler sample delivered withaxis, it will not work, you need to have a specific complex type, even if this type has only one field which is a string). Thomas -Original Message-From: Niklas Magnusson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 10:43 AMTo: [EMAIL PROTECTED]Subject: SOAP header-based sessions and .NET Hi! I've a service in Axis that uses SOAP header-based sessions it works fine but if I wan't to use this service from a C# program how do I add the sessionID to the SOAP header in the request? Regards! /Niklas
.NET client and nested arrays
I'm trying to get an Axis server and a C#/.NET client working together. I'm encountering one interop showstopper that appears to be more .NET's fault than Axis'. Whenever the bean-serialized object I send as a response has for a member an array of instances of either strings or some other beany object, the C# client complains that it can't deserialize the response. Now, I have only tried this on the C# client when the nested array is empty; I haven't tried non-empty. Background: * I've tested Axis client-to-Axis server, and it works. * I am using -- and would like to continue to use -- RPC style/SOAP encoding rather than document style/literal encoding, unless/until RPC proves unreasonable. * I run .NET's wsdl.exe console application to generate a proxy client source file, SoldierComponentService.cs, based on the Axis-generated WSDL. This works fine. The class compiles fine. The C# test classes that I write based on that proxy also compile fine. Here is the .NET client's error message: There is an error in XML document (14, 14). at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Foo.Bar.SoldierComponentService.addOfficer(String in0) at Test.Foo.Bar.SoldierComponentTest.Main() For an object that has a single nested array, the location of the error traces to the end of the line after the line containing the nested array. Here's the line/element with the nested array: soldersAsArray xsi:type=soapenc:Array soapenc:arrayType=ns2:Soldier[0]/ For an object that has two nested arrays, the location of the error traces to the end of the line after the SECOND line containing the nested array. Here are the two lines/elements with nested arrays: officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ The associated Java classes have public methods, getSuchAndSuchAsArray(), that return a raw array of the appropriate type. The type (if it's a custom type) gets correctly translated to source code by .NET's wsdl.exe. Whadayaknow, when I comment out those get-array methods, the .NET client deserializes the objects correctly. The definition of soapenc is found in the response's multiRef element: multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo So how do I get the soapenc:Array and soapenc:arrayType to work on the .NET client? = Here's the full response with the object that has two nested arrays: HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Transfer-Encoding: chunked Date: Mon, 06 Jan 2003 21:31:37 GMT Server: Apache Coyote/1.0 411 ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body ns1:addOfficerResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:bar.foo addOfficerReturn href=#id0/ /ns1:addOfficerResponse multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo baseTag xsi:type=xsd:stringofficer/baseTag officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ key xsi:type=xsd:string07/key name xsi:type=xsd:stringhome/name parent xsi:type=xsd:stringroot/parent noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ /multiRef /soapenv:Body /soapenv:Envelope 0
[wsif] sample err: Cannot get Object part 'Result'
Title: [wsif] sample err: Cannot get Object part 'Result' Trying to get familiar with WSIF. I just tried to do run the simplesoap example and I get the following error. Cannot get Object part 'Result' As the attached shows, classpath seems to be correct. Didn't find this in history email. Any ideas? thanks. G:\wsif-2.0rc1java clients.DynamicInvoker samples/simplesoap/StockquoteSOAP.wsd l getQuote CA Reading WSDL document from 'samples/simplesoap/StockquoteSOAP.wsdl' Preparing WSIF dynamic invocation - WSIF0006W: Multiple WSIFProvider found supporting the same namespace URI 'http ://schemas.xmlsoap.org/wsdl/soap/'. Found ('org.apache.wsif.providers.soap.apach eaxis.WSIFDynamicProvider_ApacheAxis, org.apache.wsif.providers.soap.apachesoap. WSIFDynamicProvider_ApacheSOAP') - WSIF0007I: Using WSIFProvider 'org.apache.wsif.providers.soap.apacheaxis.WSIFD ynamicProvider_ApacheAxis' for namespaceURI 'http://schemas.xmlsoap.org/wsdl/soa p/' Executing operation getQuote Exception in thread main org.apache.wsif.WSIFException: Cannot get Object part 'Result'. No parts are set on the message at org.apache.wsif.base.WSIFDefaultMessage.handleNoPartsException(Unknow n Source) at org.apache.wsif.base.WSIFDefaultMessage.getObjectPart(Unknown Source) at clients.DynamicInvoker.invokeMethod(Unknown Source) thanks, chris
Interface Serialization
Has anyone implemented interface serialization/deserialization yet? Off the top of my head, an implementation could do something like this (neglecting namespaces of course)... my-interface concreteClassName=com.mycompany.mypackage.MyInterfaceImpl !-- In here, you would just allow a BeanSerializer to output the concrete implementation as a bean -- /my-interface Basically, this would be a wrapper for the BeanSerializer that would determine what the Java type is based upon the concreteClassName attribute is. The WSDL generation of this would be a little tricky. We would have to enumerate the concrete types supported by the serializer somehow so that it could generate WSDL which uses a choice of possible sub-element types. Does this sound feasible? Has anyone done it? James Carman, President Carman Consulting, Inc. 1218 Bob White Ct. Edgewood, KY 41018 (513) 325-7977 smime.p7s Description: application/pkcs7-signature
RE: .NET client and nested arrays
I have noticed that a c# .net client does not handle the deserialization of empty arrays very well. You may be able to 'sidestep' this issue not sending empty arrays. I have been setting the array to null within a bean instead of sending an empty array : Example: stateLists xsi:type=soapenc:Array xsi:nil=true/ Hope this helps. Dan Stone -Original Message- From: Mitch Gitman [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 8:05 AM To: [EMAIL PROTECTED] Subject: .NET client and nested arrays I'm trying to get an Axis server and a C#/.NET client working together. I'm encountering one interop showstopper that appears to be more .NET's fault than Axis'. Whenever the bean-serialized object I send as a response has for a member an array of instances of either strings or some other beany object, the C# client complains that it can't deserialize the response. Now, I have only tried this on the C# client when the nested array is empty; I haven't tried non-empty. Background: * I've tested Axis client-to-Axis server, and it works. * I am using -- and would like to continue to use -- RPC style/SOAP encoding rather than document style/literal encoding, unless/until RPC proves unreasonable. * I run .NET's wsdl.exe console application to generate a proxy client source file, SoldierComponentService.cs, based on the Axis-generated WSDL. This works fine. The class compiles fine. The C# test classes that I write based on that proxy also compile fine. Here is the .NET client's error message: There is an error in XML document (14, 14). at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClient Message message, WebResponse response, Stream responseStream) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Foo.Bar.SoldierComponentService.addOfficer(String in0) at Test.Foo.Bar.SoldierComponentTest.Main() For an object that has a single nested array, the location of the error traces to the end of the line after the line containing the nested array. Here's the line/element with the nested array: soldersAsArray xsi:type=soapenc:Array soapenc:arrayType=ns2:Soldier[0]/ For an object that has two nested arrays, the location of the error traces to the end of the line after the SECOND line containing the nested array. Here are the two lines/elements with nested arrays: officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ The associated Java classes have public methods, getSuchAndSuchAsArray(), that return a raw array of the appropriate type. The type (if it's a custom type) gets correctly translated to source code by .NET's wsdl.exe. Whadayaknow, when I comment out those get-array methods, the .NET client deserializes the objects correctly. The definition of soapenc is found in the response's multiRef element: multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo So how do I get the soapenc:Array and soapenc:arrayType to work on the .NET client? = Here's the full response with the object that has two nested arrays: HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Transfer-Encoding: chunked Date: Mon, 06 Jan 2003 21:31:37 GMT Server: Apache Coyote/1.0 411 ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body ns1:addOfficerResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:bar.foo addOfficerReturn href=#id0/ /ns1:addOfficerResponse multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo baseTag xsi:type=xsd:stringofficer/baseTag officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ key xsi:type=xsd:string07/key name xsi:type=xsd:stringhome/name parent xsi:type=xsd:stringroot/parent noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ /multiRef /soapenv:Body /soapenv:Envelope 0
within a string / parser expects an entity reference
Hello , I am using Schemata to parse an xml file. and have among other the following element xs:element name=Firmname xs:simpleType xs:restriction base=xs:string xs:maxLength value=90 / /xs:restriction /xs:simpleType /xs:element the firmmname element contains an charachter for example: Gmbh Co.KG the SaxParser is throwing the following error: Fatal_Error The entity name must immediately follow the '' in the entity reference. at line: 7 How should I change the definition of my element in the *.xsd file so that the parser doesn't expects an entity reference thanks for any help Mohammed
Re: within a string / parser expects an entity reference
The XML is invalid. It's not the schema giving you the problem. You need to use a amp; instead of . - Original Message - From: Akacem Mohammed [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, January 07, 2003 11:29 AM Subject: within a string / parser expects an entity reference Hello , I am using Schemata to parse an xml file. and have among other the following element xs:element name=Firmname xs:simpleType xs:restriction base=xs:string xs:maxLength value=90 / /xs:restriction /xs:simpleType /xs:element the firmmname element contains an charachter for example: Gmbh Co.KG the SaxParser is throwing the following error: Fatal_Error The entity name must immediately follow the '' in the entity reference. at line: 7 How should I change the definition of my element in the *.xsd file so that the parser doesn't expects an entity reference thanks for any help Mohammed
Getting WSDL to write serializers for everything
Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J
RE: Java 1.4 issue
Mitch, This has already been fixed. Please try latest nightly build. Thanks, dims Mitch, Can you file a bug for this with a small test case? Including a patch with the bug will increase the odds of the fix making 1.1 by an order of magnitude! Thanks. -- Tom Jordahl Macromedia Server Development -Original Message- From: Mitch Gitman [mailto:[EMAIL PROTECTED]] Sent: Monday, December 23, 2002 12:27 PM To: [EMAIL PROTECTED] Subject: Java 1.4 issue I've come across an Axis problem with Java 1.4. The 1.4 JDK introduces a couple methods in the Exception class: public Throwable getCause() public StackTraceElement[] getStackTrace() Suppose the Java interface you're converting to a web service throws exceptions. Since the above methods are public, they're picked up by Java2WSDL for Exception, RemoteException and any descendant thereof. So Java2WSDL produces the following warnings: org.apache.axis.wsdl.fromJava.Types isBeanCompatible WARNING: The class java.lang.Throwable is defined in a java or javax package and cannot be converted into an xml schema type. An xml schema anyType will be use d to define this class in the wsdl file. org.apache.axis.wsdl.fromJava.Types isBeanCompatible WARNING: The class java.lang.StackTraceElement is defined in a java or javax pac kage and cannot be converted into an xml schema type. An xml schema anyType wil l be used to define this class in the wsdl file. I notice that, in the generated WSDL file, the references to Throwable, StackTraceElement, and array of StackTraceElement mention a namespace, tns3, which in my system doesn't exist. Next I run WSDL2Java. It throws the following exception: java.io.IOException: Type StackTraceElement is referenced but not defined. at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:496) at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:396) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:382) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:367) at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:246) at java.lang.Thread.run(Thread.java:536) The only way I have found to prevent this problem is to take the WSDL file generated by Java2WSDL and strip any references to the Throwable and StackTraceElements. I do this hack during my build using a DOM parser. I also have a .NET client that needs the Axis web service's WSDL. Since the dynamic WSDL obtained through the ?wsdl URL parameter will have the same dreaded Throwable and StackTraceElements belonging to the same dreaded undefined namespace, I have to feed .NET my hacked static WSDL. Ironically, exception throwing works. At the end of this message is the content of a sample SOAP response containing a fault corresponding to the original server exception. The response even contains a stack trace in the fault detail. So with the hack, everything works. Just, it's irritating that, without this hack, Axis seemingly can't produce a valid WSDL in the common circumstance of needing to throw exceptions in Java 1.4. === ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body soapenv:Fault faultcodesoapenv:Server.userException/faultcode faultstringThis is a test exception./faultstring detail ns1:stackTrace xmlns:ns1=http://xml.apache.org/axis/;This is a test exception. at foo.bar.ApplicationBean.testException(ApplicationBean.java:225) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ... /ns1:stackTrace /detail /soapenv:Fault /soapenv:Body /soapenv:Envelope = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Re: Getting WSDL to write serializers for everything
Did you try using --all option in WSDL2Java? Thx, dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Re: Getting WSDL to write serializers for everything
Thanks for the advice, but I need to get this done earlier, when invoking Java2WSDL. The strategy now is to use this followed by WSDL2Java to generate the deployment classes, then do one tweak to get the right service running. This is not too much for the deployment team. I don't want to have to give them a set of instructions for tweaking the .wsdl file in the middle of this if possible. Any other thoughts anyone? Thanks! -- J On 01/07/2003 10:53:26 am Davanum Srinivas wrote: Did you try using --all option in WSDL2Java? Thx, dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
RE: axis and caching
Each time a repsonse is sent from axis it needs these two lines in the HTTP header: Cache-Control: no-cache Pragma: no-cache This is so that the various gateways/routers/vpn servers/whatever else knows not to cache the result of a soap message NOTE: these lines are included in the client, so only the server(servlet?) needs fixing. Original Message Follows Hi Calvin, I guess that the current AXIS doesn't have the optoin for caching control. What's your problems ? I might provide a solution depends on your condition. Regards, Toshiyuki Kimura [EMAIL PROTECTED] RD Headquarters NTT DATA Corp. -Original Message- From: Calvin Smith [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 5:21 AM To: [EMAIL PROTECTED] Subject: axis and caching I'm testing with axis 1.0 and have noticed that axis does not specify that the soap response is not cachable, which causes me some problems. Is there an option for axis to suppy the caching control in the response? _ The new MSN 8 is here: Try it free* for 2 months http://join.msn.com/?page=dept/dialup _ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE* http://join.msn.com/?page=features/virus
Re: Getting WSDL to write serializers for everything
FYI, In case you missed it Java2WSDL has --extraClasses option. -- dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Thanks for the advice, but I need to get this done earlier, when invoking Java2WSDL. The strategy now is to use this followed by WSDL2Java to generate the deployment classes, then do one tweak to get the right service running. This is not too much for the deployment team. I don't want to have to give them a set of instructions for tweaking the .wsdl file in the middle of this if possible. Any other thoughts anyone? Thanks! -- J On 01/07/2003 10:53:26 am Davanum Srinivas wrote: Did you try using --all option in WSDL2Java? Thx, dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Re: Getting WSDL to write serializers for everything
What version? I am using AXIS 1.0 (which is what we have to use for the duration of this project here.) I get no mention in the help of this option. Cheers, Jeff On 01/07/2003 11:27:52 am Davanum Srinivas wrote: FYI, In case you missed it Java2WSDL has --extraClasses option. -- dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Thanks for the advice, but I need to get this done earlier, when invoking Java2WSDL. The strategy now is to use this followed by WSDL2Java to generate the deployment classes, then do one tweak to get the right service running. This is not too much for the deployment team. I don't want to have to give them a set of instructions for tweaking the .wsdl file in the middle of this if possible. Any other thoughts anyone? Thanks! -- J On 01/07/2003 10:53:26 am Davanum Srinivas wrote: Did you try using --all option in WSDL2Java? Thx, dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
Re: Getting WSDL to write serializers for everything
1.1 beta (and of course latest cvs) -- dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: What version? I am using AXIS 1.0 (which is what we have to use for the duration of this project here.) I get no mention in the help of this option. Cheers, Jeff On 01/07/2003 11:27:52 am Davanum Srinivas wrote: FYI, In case you missed it Java2WSDL has --extraClasses option. -- dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Thanks for the advice, but I need to get this done earlier, when invoking Java2WSDL. The strategy now is to use this followed by WSDL2Java to generate the deployment classes, then do one tweak to get the right service running. This is not too much for the deployment team. I don't want to have to give them a set of instructions for tweaking the .wsdl file in the middle of this if possible. Any other thoughts anyone? Thanks! -- J On 01/07/2003 10:53:26 am Davanum Srinivas wrote: Did you try using --all option in WSDL2Java? Thx, dims --- Jeffrey J Gaynor/jqhome [EMAIL PROTECTED] wrote: Hi All, I have a project that returns an array of beans. I am using WSDL to generate all of the required classes. The problem is that one of the beans I require is not explicitly in any method as an argument or returned value, but may be returned in an array. Therefore, no serializer is generated. Before I tweak something manually, is there an easy way to get WSDL to generate the serializer automatically? This is important, because at some point when the project is functional, I will be turning it over to a deployment team which will have no knowledge of AXIS or WSDL. I would very much like to give them a cookbook for re-deploying the service and this must be as automated as possible. Thanks! -- J = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com
RE: .NET client and nested arrays
Thanks, Dan. This worked. I have added an empty check to my get-array methods: if (things.length == 0) return null; return things; At 08:23 2003.01.07 -0800, you wrote: I have noticed that a c# .net client does not handle the deserialization of empty arrays very well. You may be able to 'sidestep' this issue not sending empty arrays. I have been setting the array to null within a bean instead of sending an empty array : Example: stateLists xsi:type=soapenc:Array xsi:nil=true/ Hope this helps. Dan Stone -Original Message- From: Mitch Gitman [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 8:05 AM To: [EMAIL PROTECTED] Subject: .NET client and nested arrays I'm trying to get an Axis server and a C#/.NET client working together. I'm encountering one interop showstopper that appears to be more .NET's fault than Axis'. Whenever the bean-serialized object I send as a response has for a member an array of instances of either strings or some other beany object, the C# client complains that it can't deserialize the response. Now, I have only tried this on the C# client when the nested array is empty; I haven't tried non-empty. Background: * I've tested Axis client-to-Axis server, and it works. * I am using -- and would like to continue to use -- RPC style/SOAP encoding rather than document style/literal encoding, unless/until RPC proves unreasonable. * I run .NET's wsdl.exe console application to generate a proxy client source file, SoldierComponentService.cs, based on the Axis-generated WSDL. This works fine. The class compiles fine. The C# test classes that I write based on that proxy also compile fine. Here is the .NET client's error message: There is an error in XML document (14, 14). at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClient Message message, WebResponse response, Stream responseStream) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Foo.Bar.SoldierComponentService.addOfficer(String in0) at Test.Foo.Bar.SoldierComponentTest.Main() For an object that has a single nested array, the location of the error traces to the end of the line after the line containing the nested array. Here's the line/element with the nested array: soldersAsArray xsi:type=soapenc:Array soapenc:arrayType=ns2:Soldier[0]/ For an object that has two nested arrays, the location of the error traces to the end of the line after the SECOND line containing the nested array. Here are the two lines/elements with nested arrays: officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ The associated Java classes have public methods, getSuchAndSuchAsArray(), that return a raw array of the appropriate type. The type (if it's a custom type) gets correctly translated to source code by .NET's wsdl.exe. Whadayaknow, when I comment out those get-array methods, the .NET client deserializes the objects correctly. The definition of soapenc is found in the response's multiRef element: multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo So how do I get the soapenc:Array and soapenc:arrayType to work on the .NET client? = Here's the full response with the object that has two nested arrays: HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Transfer-Encoding: chunked Date: Mon, 06 Jan 2003 21:31:37 GMT Server: Apache Coyote/1.0 411 ?xml version=1.0 encoding=UTF-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body ns1:addOfficerResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:bar.foo addOfficerReturn href=#id0/ /ns1:addOfficerResponse multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:OfficerBranch xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=urn:bar.foo baseTag xsi:type=xsd:stringofficer/baseTag officersAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ key xsi:type=xsd:string07/key name xsi:type=xsd:stringhome/name parent xsi:type=xsd:stringroot/parent noncomissionedsAsArray xsi:type=soapenc:Array soapenc:arrayType=xsd:string[0]/ /multiRef /soapenv:Body /soapenv:Envelope 0
Re: wsif - complex type/java bean mapping
Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to generate the classes so they have the methods by default, but they could be deleted and everything should still work. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: service.mapType( new javax.xml.namespace.QName( http://wsiftypes.addressbook/;, address), Class.forName(addressbook.wsiftypes.Address)); Or see the doitDyn method in this testcase for a complete example: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/AddressBookTest.java And the Address class it uses at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/wsiftypes/Address.java When using the WSIFDynamicProxy for stub based invocation WSIF tries to find a class using the JAX-RPC rules for converting a QName to a Java class name. So in the above testcase the doit method uses stub invocation and does not need a mapType call as WSIF can find the addressbook.wsiftypes.Address class itself. If the class name doesn't match the QName you can still use mapType calls and stub invocation. ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Jacques-Olivier Goussard [EMAIL PROTECTED] on 07/01/2003 14:20:32 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:wsif - complex type/java bean mapping Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
Re: wsif - complex type/java bean mapping
Hi Ant, I did delete the Axis serialization routines from the WSDL2Java generated stubs that are in the sample directories. The sampe documentation also describes how users can generate the stub interfaces themselves using WSDL2Java and specifically advises that the Axis-specific stuff be deleted. Nirmal. Anthony Elder [EMAIL PROTECTED] 01/07/2003 01:50 PM Please respond to axis-user To: [EMAIL PROTECTED] cc: Subject: Re: wsif - complex type/java bean mapping Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to generate the classes so they have the methods by default, but they could be deleted and everything should still work. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: service.mapType( new javax.xml.namespace.QName( http://wsiftypes.addressbook/, address), Class.forName(addressbook.wsiftypes.Address)); Or see the doitDyn method in this testcase for a complete example: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/AddressBookTest.java And the Address class it uses at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/wsiftypes/Address.java When using the WSIFDynamicProxy for stub based invocation WSIF tries to find a class using the JAX-RPC rules for converting a QName to a Java class name. So in the above testcase the doit method uses stub invocation and does not need a mapType call as WSIF can find the addressbook.wsiftypes.Address class itself. If the class name doesn't match the QName you can still use mapType calls and stub invocation. ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Jacques-Olivier Goussard [EMAIL PROTECTED] on 07/01/2003 14:20:32 Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: wsif - complex type/java bean mapping Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
RE: wsif - complex type/java bean mapping
Thanks for quick response. I made a bit of progress on that problem: Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to Well, it does not seem obvious to me. Taking a look at wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java, the method deserialiseResponseObject() will instanciate AXIS BeanDeserializerFactory based on the WSIFTypeMapping. In that case, AXIS seems to rely on an existing public TypeDesc getTypeDesc() (or alternatively a Deserializer getDeserializer()) method implemented in the bean class itself. To make sure of this, just comment out the LatLongReturn#getTypeDesc and LatLongReturn#getDeserializer methods and run the complexsoap sample to experience the problem. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: That's what the complexsoap example is doing. I would have expected WSIF not to be AXIS dependant for the complex type mapping, as it makes the client code dependant upon the chosen binding. From the code - but I'm really new to WSIF so there may be better ways - it seemed to me that the AXIS provider would have to generate the TypeDesc at runtime (i.e., doing WSDL2Java job) and use it to create the proper BeanDeserializers. Thanks Jacques-Olivier -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:50 PM To: [EMAIL PROTECTED] Subject: Re: wsif - complex type/java bean mapping Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to generate the classes so they have the methods by default, but they could be deleted and everything should still work. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: service.mapType( new javax.xml.namespace.QName( http://wsiftypes.addressbook/;, address), Class.forName(addressbook.wsiftypes.Address)); Or see the doitDyn method in this testcase for a complete example: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/jav a/test/addressbook/AddressBookTest.java And the Address class it uses at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/wsiftypes/Address.java When using the WSIFDynamicProxy for stub based invocation WSIF tries to find a class using the JAX-RPC rules for converting a QName to a Java class name. So in the above testcase the doit method uses stub invocation and does not need a mapType call as WSIF can find the addressbook.wsiftypes.Address class itself. If the class name doesn't match the QName you can still use mapType calls and stub invocation. ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Jacques-Olivier Goussard [EMAIL PROTECTED] on 07/01/2003 14:20:32 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:wsif - complex type/java bean mapping Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
Re: [wsif] sample err: Cannot get Object part 'Result'
Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. Peake, Chris [EMAIL PROTECTED] 01/07/2003 11:09 AM Please respond to axis-user To: [EMAIL PROTECTED] cc: Subject: [wsif] sample err: Cannot get Object part 'Result' Trying to get familiar with WSIF. I just tried to do run the simplesoap example and I get the following error. Cannot get Object part 'Result' As the attached shows, classpath seems to be correct. Didn't find this in history email. Any ideas? thanks. G:\wsif-2.0rc1java clients.DynamicInvoker samples/simplesoap/StockquoteSOAP.wsd l getQuote CA Reading WSDL document from 'samples/simplesoap/StockquoteSOAP.wsdl' Preparing WSIF dynamic invocation - WSIF0006W: Multiple WSIFProvider found supporting the same namespace URI 'http ://schemas.xmlsoap.org/wsdl/soap/'. Found ('org.apache.wsif.providers.soap.apach eaxis.WSIFDynamicProvider_ApacheAxis, org.apache.wsif.providers.soap.apachesoap. WSIFDynamicProvider_ApacheSOAP') - WSIF0007I: Using WSIFProvider 'org.apache.wsif.providers.soap.apacheaxis.WSIFD ynamicProvider_ApacheAxis' for namespaceURI 'http://schemas.xmlsoap.org/wsdl/soa p/' Executing operation getQuote Exception in thread main org.apache.wsif.WSIFException: Cannot get Object part 'Result'. No parts are set on the message at org.apache.wsif.base.WSIFDefaultMessage.handleNoPartsException(Unknow n Source) at org.apache.wsif.base.WSIFDefaultMessage.getObjectPart(Unknown Source) at clients.DynamicInvoker.invokeMethod(Unknown Source) thanks, chris
RE: wsif - complex type/java bean mapping
Hello Jacques, You are right. We'll look into this problem and see what can be done. Keep monitoring this list for a response. Thanks, Nirmal. Jacques-Olivier Goussard [EMAIL PROTECTED] 01/07/2003 02:03 PM Please respond to axis-user To: [EMAIL PROTECTED] cc: Subject: RE: wsif - complex type/java bean mapping Thanks for quick response. I made a bit of progress on that problem: Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to Well, it does not seem obvious to me. Taking a look at wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java, the method deserialiseResponseObject() will instanciate AXIS BeanDeserializerFactory based on the WSIFTypeMapping. In that case, AXIS seems to rely on an existing public TypeDesc getTypeDesc() (or alternatively a Deserializer getDeserializer()) method implemented in the bean class itself. To make sure of this, just comment out the LatLongReturn#getTypeDesc and LatLongReturn#getDeserializer methods and run the complexsoap sample to experience the problem. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: That's what the complexsoap example is doing. I would have expected WSIF not to be AXIS dependant for the complex type mapping, as it makes the client code dependant upon the chosen binding. From the code - but I'm really new to WSIF so there may be better ways - it seemed to me that the AXIS provider would have to generate the TypeDesc at runtime (i.e., doing WSDL2Java job) and use it to create the proper BeanDeserializers. Thanks Jacques-Olivier -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:50 PM To: [EMAIL PROTECTED] Subject: Re: wsif - complex type/java bean mapping Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to generate the classes so they have the methods by default, but they could be deleted and everything should still work. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: service.mapType( new javax.xml.namespace.QName( http://wsiftypes.addressbook/, address), Class.forName(addressbook.wsiftypes.Address)); Or see the doitDyn method in this testcase for a complete example: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/jav a/test/addressbook/AddressBookTest.java And the Address class it uses at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/wsiftypes/Address.java When using the WSIFDynamicProxy for stub based invocation WSIF tries to find a class using the JAX-RPC rules for converting a QName to a Java class name. So in the above testcase the doit method uses stub invocation and does not need a mapType call as WSIF can find the addressbook.wsiftypes.Address class itself. If the class name doesn't match the QName you can still use mapType calls and stub invocation. ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Jacques-Olivier Goussard [EMAIL PROTECTED] on 07/01/2003 14:20:32 Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: wsif - complex type/java bean mapping Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
RE: wsif - complex type/java bean mapping
Thanks. Seems a pretty serious problem. One related question though. As per Ant remarks, I took a look to test/addressbook/AddressBookTest.java and indeed the Address class used as return type does not use the AXIS serialization stuff. How come this is working ? Is it something in the test setup (the build/samples path in front of the test/ path in the classpath for ex.) ? Jacques-Olivier -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 2:14 PM To: [EMAIL PROTECTED] Subject: RE: wsif - complex type/java bean mapping Hello Jacques, You are right. We'll look into this problem and see what can be done. Keep monitoring this list for a response. Thanks, Nirmal. Jacques-Olivier Goussard [EMAIL PROTECTED] 01/07/2003 02:03 PM Please respond to axis-user To:[EMAIL PROTECTED] cc: Subject:RE: wsif - complex type/java bean mapping Thanks for quick response. I made a bit of progress on that problem: Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to Well, it does not seem obvious to me. Taking a look at wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java, the method deserialiseResponseObject() will instanciate AXIS BeanDeserializerFactory based on the WSIFTypeMapping. In that case, AXIS seems to rely on an existing public TypeDesc getTypeDesc() (or alternatively a Deserializer getDeserializer()) method implemented in the bean class itself. To make sure of this, just comment out the LatLongReturn#getTypeDesc and LatLongReturn#getDeserializer methods and run the complexsoap sample to experience the problem. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: That's what the complexsoap example is doing. I would have expected WSIF not to be AXIS dependant for the complex type mapping, as it makes the client code dependant upon the chosen binding. From the code - but I'm really new to WSIF so there may be better ways - it seemed to me that the AXIS provider would have to generate the TypeDesc at runtime (i.e., doing WSDL2Java job) and use it to create the proper BeanDeserializers. Thanks Jacques-Olivier -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:50 PM To: [EMAIL PROTECTED] Subject: Re: wsif - complex type/java bean mapping Its a bit misleading if the samples contain the AXIS serialization routines as they are not used by WSIF. The AXIS WSDL2Java utility is used to generate the classes so they have the methods by default, but they could be deleted and everything should still work. To map a complex type to a Java class you use the org.apache.wsif.WSIFService class mapType method. For example: service.mapType( new javax.xml.namespace.QName( http://wsiftypes.addressbook/;, address), Class.forName(addressbook.wsiftypes.Address)); Or see the doitDyn method in this testcase for a complete example: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/jav a/test/addressbook/AddressBookTest.java And the Address class it uses at: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/wsiftypes/Address.java When using the WSIFDynamicProxy for stub based invocation WSIF tries to find a class using the JAX-RPC rules for converting a QName to a Java class name. So in the above testcase the doit method uses stub invocation and does not need a mapType call as WSIF can find the addressbook.wsiftypes.Address class itself. If the class name doesn't match the QName you can still use mapType calls and stub invocation. ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Jacques-Olivier Goussard [EMAIL PROTECTED] on 07/01/2003 14:20:32 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:wsif - complex type/java bean mapping Hi I'm trying to build a generic webservice client that can handle complex types and is runtime configurable. Ideally, I wouldn't want users to have to provide a stub for their complex types. The WSIF documentation seems to indicate that any well behaved bean can be used to map complex types on the client side, but all the examples use WSDL2Java stubs, that contain AXIS deserialization routines. So 1 - Is there a way to map complex types to a simple bean (no AXIS getSerializer/getDesrializer routines)? 2 - If not, how can I register at runtime bean deserializers for AXIS from the WSIF interface ? Thanks Jacques-Olivier
Setting User name /Password with stubs
Hi, Can some one let me know how to set UserName, password for accessing the WSDL url? Note Iam not using Call to invoke the function, but using the stub directly These are the steps I have done * My WSDL is document style * generated stubs by specifying -U username -P password option -- * Greped the code but didn't see any where userName , Password set in the generated code * My Client program looks like this OMIService lOMIService = new OMIServiceLocator(); URL serviceURL = new URL(args[0]); OMIPortType lPortType = lOMIService.getOMIBindingPort(serviceURL); GetRootObject lSoapBody = new GetRootObject(); ObjectName lRootObject = lPortType.getRootObject(lSoapBody); * I don't see any function to set userName , password regards, Haneef
RE: [wsif] sample err: Cannot get Object part 'Result'
I am using the classpath.bat as suggested. Which should be using the*.jars inin xerces2 dir I think, right? -- G:\wsif-2.0rc1classpathbuild\lib\wsif.jar;build\lib\wsif-j2c.jar;build\classes;build\samples;build\tests;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc\jaxrpc_1_1.jar;lib\commons_logging\commons-logging.jar;lib\commons_discovery\commons-discovery.jar;lib\axis\servlet22.jar;lib\axis\axis_1_0.jar;lib\axis\axis_1_0-ant.jar;lib\apache_soap\apache_soap_2_3_1.jar;lib\jms_api\jms_1_1.jar;lib\xerces2\xmlParserAPIs_2_2_1.jar;lib\xerces2\xercesImpl_2_2_1.jar;lib\log4j\log4j-1.2.4.jar;lib\wsdl4j\wsdl4j-20021124.jar;lib\wsdl4j\qname-from-wsdl4j-20021124.jar;lib\junit\junit-3.8.1.jar; As a test, I movided the bat andplaced my normal xerces 1.4.4 version ahead of this parser, but with the same results. This is not a priority for me. I just wanted to try it out. But if you can think of something, I'll try it. Maybe turning on logging? How? thanks, chris -Original Message-From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]]Sent: Tuesday, January 07, 2003 3:09 PMTo: [EMAIL PROTECTED]Subject: RE: [wsif] sample err: Cannot get Object part 'Result'Hello Chris, That is unlikely - the service WSDL in this case has a SOAP binding that uses HTTP as the transport, so firewalls probbaly aren't the problem. I'm now thinking it might be an XML parsing issue. What parser do you use? Also, did you set up the classpath using the classpath script provided with WSIF? That way you won't pick up unnecessary JAR files that might be in your local classpath that might interfere... Nirmal. "Peake, Chris" [EMAIL PROTECTED] 01/07/2003 03:26 PM Please respond to axis-user To: [EMAIL PROTECTED] cc: Subject:RE: [wsif] sample err: Cannot get Object part 'Result'I tried it again but with same results. Could it be a firewall situation on my side? chris -Original Message-From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]]Sent: Tuesday, January 07, 2003 1:07 PMTo: [EMAIL PROTECTED]Subject: Re: [wsif] sample err: Cannot get Object part 'Result'Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. "Peake, Chris" [EMAIL PROTECTED] 01/07/2003 11:09 AM Please respond to axis-user To: [EMAIL PROTECTED] cc:Subject: [wsif] sample err: Cannot get Object part 'Result'Trying to get familiar with WSIF. I just tried to do run the simplesoap example and I get the following error. Cannot get Object part 'Result' As the attached shows, classpath seems to be correct. Didn't find this in history email. Any ideas? thanks. G:\wsif-2.0rc1java clients.DynamicInvoker samples/simplesoap/StockquoteSOAP.wsd l getQuote CA Reading WSDL document from 'samples/simplesoap/StockquoteSOAP.wsdl' Preparing WSIF dynamic invocation - WSIF0006W: Multiple WSIFProvider found supporting the same namespace URI 'http ://schemas.xmlsoap.org/wsdl/soap/'. Found ('org.apache.wsif.providers.soap.apach eaxis.WSIFDynamicProvider_ApacheAxis, org.apache.wsif.providers.soap.apachesoap. WSIFDynamicProvider_ApacheSOAP') - WSIF0007I: Using WSIFProvider 'org.apache.wsif.providers.soap.apacheaxis.WSIFD ynamicProvider_ApacheAxis' for namespaceURI 'http://schemas.xmlsoap.org/wsdl/soa p/' Executing operation getQuote Exception in thread "main" org.apache.wsif.WSIFException: Cannot get Object part 'Result'. No parts are set on the message at org.apache.wsif.base.WSIFDefaultMessage.handleNoPartsException(Unknow n Source) at org.apache.wsif.base.WSIFDefaultMessage.getObjectPart(Unknown Source) at clients.DynamicInvoker.invokeMethod(Unknown Source) thanks, chris
RE: [wsif] sample err: Cannot get Object part 'Result'
If you access the Internet via a proxy server you'll need to set the appropriate system properties. For example: java -Dhttp.proxyHost=proxy.somewhere.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost clients.DynamicInvoker http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl getQuote IBM If thats not the problem you could try running with trace on and post the trace log to this list. For how to use WSIF trace see: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/doc/trace.htm ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Peake, Chris [EMAIL PROTECTED] on 07/01/2003 21:35:46 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: [wsif] sample err: Cannot get Object part 'Result' I am using the classpath.bat as suggested. Which should be using the *.jars in in xerces2 dir I think, right? -- G:\wsif-2.0rc1classpath build\lib\wsif.jar;build\lib\wsif-j2c.jar;build\classes;build\samples;build\test s;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc\jaxrpc_1_1.jar;li b\commons_logging\commons-logging.jar;lib\commons_discovery\commons-discovery.ja r;lib\axis\servlet22.jar;lib\axis\axis_1_0.jar;lib\axis\axis_1_0-ant.jar;lib\apa che_soap\apache_soap_2_3_1.jar;lib\jms_api\jms_1_1.jar;lib\xerces2\xmlParserAPIs _2_2_1.jar;lib\xerces2\xercesImpl_2_2_1.jar;lib\log4j\log4j-1.2.4.jar;lib\wsdl4j \wsdl4j-20021124.jar;lib\wsdl4j\qname-from-wsdl4j-20021124.jar;lib\junit\junit-3 .8.1.jar; As a test, I movided the bat and placed my normal xerces 1.4.4 version ahead of this parser, but with the same results. This is not a priority for me. I just wanted to try it out. But if you can think of something, I'll try it. Maybe turning on logging? How? thanks, chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:09 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, That is unlikely - the service WSDL in this case has a SOAP binding that uses HTTP as the transport, so firewalls probbaly aren't the problem. I'm now thinking it might be an XML parsing issue. What parser do you use? Also, did you set up the classpath using the classpath script provided with WSIF? That way you won't pick up unnecessary JAR files that might be in your local classpath that might interfere... Nirmal. Peake, Chris [EMAIL PROTECTED] To: m[EMAIL PROTECTED] cc: 01/07/2003 03:26 Subject: RE: [wsif] PMsample err: Cannot get Object part Please respond to 'Result' axis-user I tried it again but with same results. Could it be a firewall situation on my side? chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:07 PM To: [EMAIL PROTECTED] Subject: Re: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. Peake, Chris [EMAIL PROTECTED] To: [EMAIL PROTECTED] 01/07/2003 11:09 AM cc: Please respond to Subject: [wsif] axis-user sample err: Cannot get Object part 'Result' Trying to get familiar with WSIF. I just tried to do run the simplesoap example and I get the following error. Cannot get Object part 'Result' As the attached shows, classpath seems to be correct. Didn't find this in history email. Any ideas? thanks. G:\wsif-2.0rc1java clients.DynamicInvoker samples/simplesoap/StockquoteSOAP.wsd l getQuote CA Reading WSDL document from 'samples/simplesoap/StockquoteSOAP.wsdl'
FW: Service instance
Hi all, Where abouts (in the code) does the Axis engine create an instance of a service? I would like the axis server to call itself, and I don't want it to create a new instance, but I would like to pass across an already instanstiated object? Does this make sense? (Probably not :) ) I'm using the latest release of apache axis and the TCP transport sample I've narrowed it down to here. Is the service instantiated in the invoke method of the engine or the getResponse method engine.invoke( msgContext ); } catch( Exception e ) { AxisFault fault = AxisFault.makeFault(e); msgContext.setResponseMessage( new Message(fault) ); } /* Send it back along the wire... */ /***/ msg = msgContext.getResponseMessage(); Cheers, Dave
RE: Setting User name /Password with stubs
Ok I figured it out-- but not trivial one. Hate using _ in methodNames javax.xml.rpc.Stub lStub = (javax.xml.rpc.Stub)lPortType; lStub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,UserName); lStub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,Password); regards, Haneef -Original Message- From: ALI,HANEEF (HP-Cupertino,ex1) [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 12:53 PM To: '[EMAIL PROTECTED]' Subject: Setting User name /Password with stubs Hi, Can some one let me know how to set UserName, password for accessing the WSDL url? Note Iam not using Call to invoke the function, but using the stub directly These are the steps I have done * My WSDL is document style * generated stubs by specifying -U username -P password option -- * Greped the code but didn't see any where userName , Password set in the generated code * My Client program looks like this OMIService lOMIService = new OMIServiceLocator(); URL serviceURL = new URL(args[0]); OMIPortType lPortType = lOMIService.getOMIBindingPort(serviceURL); GetRootObject lSoapBody = new GetRootObject(); ObjectName lRootObject = lPortType.getRootObject(lSoapBody); * I don't see any function to set userName , password regards, Haneef
RE: Service instance
Hi Dave I guess u wanted to know where the class that represents service that is being called in being instantiated. Check out org.apache.axis.providers.java.JavaProvider for that. Look specifically for getNewServiceObject method. Thanks Vidyanand. -Original Message- From: Dave Searle [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 2:00 PM To: [EMAIL PROTECTED] Subject: FW: Service instance Hi all, Where abouts (in the code) does the Axis engine create an instance of a service? I would like the axis server to call itself, and I don't want it to create a new instance, but I would like to pass across an already instanstiated object? Does this make sense? (Probably not :) ) I'm using the latest release of apache axis and the TCP transport sample I've narrowed it down to here. Is the service instantiated in the invoke method of the engine or the getResponse method engine.invoke( msgContext ); } catch( Exception e ) { AxisFault fault = AxisFault.makeFault(e); msgContext.setResponseMessage( new Message(fault) ); } /* Send it back along the wire... */ /***/ msg = msgContext.getResponseMessage(); Cheers, Dave
RE: [wsif] sample err: Cannot get Object part 'Result'
I have not tried this yet, but we have an authenticating proxy. Are there properties for userid and psw which are requiered in my environment. thanks, chris -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:50 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' If you access the Internet via a proxy server you'll need to set the appropriate system properties. For example: java -Dhttp.proxyHost=proxy.somewhere.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost clients.DynamicInvoker http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl getQuote IBM If thats not the problem you could try running with trace on and post the trace log to this list. For how to use WSIF trace see: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/doc/trace.htm ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Peake, Chris [EMAIL PROTECTED] on 07/01/2003 21:35:46 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: [wsif] sample err: Cannot get Object part 'Result' I am using the classpath.bat as suggested. Which should be using the *.jars in in xerces2 dir I think, right? -- G:\wsif-2.0rc1classpath build\lib\wsif.jar;build\lib\wsif-j2c.jar;build\classes;build\samples;build\test s;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc\jaxrpc_1_1.jar;li b\commons_logging\commons-logging.jar;lib\commons_discovery\commons-discovery.ja r;lib\axis\servlet22.jar;lib\axis\axis_1_0.jar;lib\axis\axis_1_0-ant.jar;lib\apa che_soap\apache_soap_2_3_1.jar;lib\jms_api\jms_1_1.jar;lib\xerces2\xmlParserAPIs _2_2_1.jar;lib\xerces2\xercesImpl_2_2_1.jar;lib\log4j\log4j-1.2.4.jar;lib\wsdl4j \wsdl4j-20021124.jar;lib\wsdl4j\qname-from-wsdl4j-20021124.jar;lib\junit\junit-3 .8.1.jar; As a test, I movided the bat and placed my normal xerces 1.4.4 version ahead of this parser, but with the same results. This is not a priority for me. I just wanted to try it out. But if you can think of something, I'll try it. Maybe turning on logging? How? thanks, chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:09 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, That is unlikely - the service WSDL in this case has a SOAP binding that uses HTTP as the transport, so firewalls probbaly aren't the problem. I'm now thinking it might be an XML parsing issue. What parser do you use? Also, did you set up the classpath using the classpath script provided with WSIF? That way you won't pick up unnecessary JAR files that might be in your local classpath that might interfere... Nirmal. Peake, Chris [EMAIL PROTECTED] To: m[EMAIL PROTECTED] cc: 01/07/2003 03:26 Subject: RE: [wsif] PMsample err: Cannot get Object part Please respond to 'Result' axis-user I tried it again but with same results. Could it be a firewall situation on my side? chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:07 PM To: [EMAIL PROTECTED] Subject: Re: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. Peake, Chris [EMAIL PROTECTED] To: [EMAIL PROTECTED] 01/07/2003 11:09 AM cc: Please respond to Subject: [wsif] axis-user sample err: Cannot get Object part 'Result' Trying to get familiar with WSIF. I just tried to do
RE: [wsif] sample err: Cannot get Object part 'Result'
chris, since you are using axis as the tranport...The same system properties (those that you use for axis) apply. Thanks, dims --- Peake, Chris [EMAIL PROTECTED] wrote: I have not tried this yet, but we have an authenticating proxy. Are there properties for userid and psw which are requiered in my environment. thanks, chris -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:50 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' If you access the Internet via a proxy server you'll need to set the appropriate system properties. For example: java -Dhttp.proxyHost=proxy.somewhere.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost clients.DynamicInvoker http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl getQuote IBM If thats not the problem you could try running with trace on and post the trace log to this list. For how to use WSIF trace see: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/doc/trace.htm ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Peake, Chris [EMAIL PROTECTED] on 07/01/2003 21:35:46 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: [wsif] sample err: Cannot get Object part 'Result' I am using the classpath.bat as suggested. Which should be using the *.jars in in xerces2 dir I think, right? -- G:\wsif-2.0rc1classpath build\lib\wsif.jar;build\lib\wsif-j2c.jar;build\classes;build\samples;build\test s;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc\jaxrpc_1_1.jar;li b\commons_logging\commons-logging.jar;lib\commons_discovery\commons-discovery.ja r;lib\axis\servlet22.jar;lib\axis\axis_1_0.jar;lib\axis\axis_1_0-ant.jar;lib\apa che_soap\apache_soap_2_3_1.jar;lib\jms_api\jms_1_1.jar;lib\xerces2\xmlParserAPIs _2_2_1.jar;lib\xerces2\xercesImpl_2_2_1.jar;lib\log4j\log4j-1.2.4.jar;lib\wsdl4j \wsdl4j-20021124.jar;lib\wsdl4j\qname-from-wsdl4j-20021124.jar;lib\junit\junit-3 .8.1.jar; As a test, I movided the bat and placed my normal xerces 1.4.4 version ahead of this parser, but with the same results. This is not a priority for me. I just wanted to try it out. But if you can think of something, I'll try it. Maybe turning on logging? How? thanks, chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:09 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, That is unlikely - the service WSDL in this case has a SOAP binding that uses HTTP as the transport, so firewalls probbaly aren't the problem. I'm now thinking it might be an XML parsing issue. What parser do you use? Also, did you set up the classpath using the classpath script provided with WSIF? That way you won't pick up unnecessary JAR files that might be in your local classpath that might interfere... Nirmal. Peake, Chris [EMAIL PROTECTED]To: m[EMAIL PROTECTED] cc: 01/07/2003 03:26 Subject:RE: [wsif] PMsample err: Cannot get Object part Please respond to 'Result' axis-user I tried it again but with same results. Could it be a firewall situation on my side? chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:07 PM To: [EMAIL PROTECTED] Subject: Re: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. Peake, Chris [EMAIL PROTECTED] To: [EMAIL PROTECTED] 01/07/2003 11:09 AM cc: Please respond to
RE: Initial Axis 1.1b Install Failure Build Error
Maybe it would be good to fish or cut bait on the CommonsHTTPSender class. Should we switch this to be the default implementation or remove the Commons based code all together. I believe the only (undocumented) way to use this class is to set a property. It *is* very confusing. Does the Commons version give us something we don't have with the home grown one? If so, is it important enough to make it the default? Dims, I believe you checked in the commons based code originally... Opinions? -- Tom Jordahl Macromedia Server Development -Original Message- From: Chris Haddad [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 11:19 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Initial Axis 1.1b Install Failure Build Error All - I ran into this same issue a few weeks ago. The Release 2.0-Alpha-1 version of commons-httpclient is no longer compatible with the Axis build. A recent nightly build of commons-httpclient works. The public commons-httpclient API was changed. I'm not sure how to re-phrase it in the Axis documentation, because there is no official major/minor release except release 2.0 to suggest. If someone can come up with some appropriate verbaige, i'll change the docs, but i don't think it is a good idea to hardcode a nightly build date (but maybe the only one available). Maybe the commons-httpclient committers can cut another release. /Chris - Original Message - From: Tom Jordahl [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, January 07, 2003 9:58 AM Subject: RE: Initial Axis 1.1b Install Failure Build Error Tim, I don't run Tomcat, so I can't help you there. I am sorry about the commons-httpclient problems, if its any help I have a version with sources dated 7/30/2002 and it builds fine. The nightly Gump builds are performed against the lastest versions of all the Apache sources, and I believe it does this for commons-httpclient too. So this is why you should not have problems with a recent source drop from them. -- Tom Jordahl Macromedia Server Development -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, January 06, 2003 6:13 PM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Tom - Thanks for a reply. :-) Problem #1: You fixed by upgrading Tomcat - from the original error, you have CLASSPATH issues since org/apache/axis/MessageContext is a pretty basic class. It's not actually fixed, since in production, we are still running 3.2.x - so if I can't get this figured out, I can't deploy. Doh! My colleage and myself both installed according to the directions. Has anyone else gotten 1.1 running on Tomcat 3.2.x? Problem #2: You have the wrong version of the commons-http.jar file. Try compiling with the latest nightly build, not the latest release. (don't ask ME why this is.. :-) Hmm... okay, I won't ask, but I did follow the Axis setup directions explicitly... anyway, I'll try that, thanks. ;-) Hope this helps. Thanks - any reply is better than none. :-) Still, it would be nice to find out if anyone has run 1.1 on Tomcat 3.2.1. Cheers, Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, December 23, 2002 8:53 AM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Replying to myself here...at least to keep the thread alive - still hoping for additional help. ;-) I loaded up Axis 1.1b inside Tomcat 4.1.18 and it runs swimmingly. No errors. The 3.2.1 issue appears to be a classpath problem of some sort. Can anybody get 1.1b to run in Tomcat 3.2.1? Thanks! Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Friday, December 20, 2002 9:45 AM To: [EMAIL PROTECTED] Subject: Initial Axis 1.1b Install Failure Build Error Hey folks - I've run Axis before, but I'm starting fresh with 1.1beta and running into two problems - the first is EchoHeaders throwing an InvocationTargetException when using the binary DIST of Axis, the second is a compile problem while trying to build Axis from src with -ALL- of the optional libraries (but narrowed down to the HTTPClient lib I think). Problem #1: Following the 1.1 install instructions, myself and a colleage have both reproduced the following Fault (below). We are using the binary dist of 1.1 with Tomcat 3.2.1 and JSDK 1.3.1_02. happyaxis.jsp reports back success finding everything. The View works, and so does the 'show me the wsdl' url...but http://localhost:8080/axis/EchoHeaders.jws?method=list throws this fault: AXIS error Sorry, something seems to have gone wrong... here are the details: Fault - java.lang.reflect.InvocationTargetException AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString:
RE: Initial Axis 1.1b Install Failure Build Error
Tom, Till there's a official release Commons, We should not make it our default. For example, Commons HTTP has good support for HTTP1.1, which we don't. Another example is the bugs we have in our impl (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11296). Current check-in of CommonsHTTPSender was a starting point, i was able to run ant clean all-tests using that as the default at one point in time (when i checked it in :). Thanks, dims --- Tom Jordahl [EMAIL PROTECTED] wrote: Maybe it would be good to fish or cut bait on the CommonsHTTPSender class. Should we switch this to be the default implementation or remove the Commons based code all together. I believe the only (undocumented) way to use this class is to set a property. It *is* very confusing. Does the Commons version give us something we don't have with the home grown one? If so, is it important enough to make it the default? Dims, I believe you checked in the commons based code originally... Opinions? -- Tom Jordahl Macromedia Server Development -Original Message- From: Chris Haddad [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 11:19 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Initial Axis 1.1b Install Failure Build Error All - I ran into this same issue a few weeks ago. The Release 2.0-Alpha-1 version of commons-httpclient is no longer compatible with the Axis build. A recent nightly build of commons-httpclient works. The public commons-httpclient API was changed. I'm not sure how to re-phrase it in the Axis documentation, because there is no official major/minor release except release 2.0 to suggest. If someone can come up with some appropriate verbaige, i'll change the docs, but i don't think it is a good idea to hardcode a nightly build date (but maybe the only one available). Maybe the commons-httpclient committers can cut another release. /Chris - Original Message - From: Tom Jordahl [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, January 07, 2003 9:58 AM Subject: RE: Initial Axis 1.1b Install Failure Build Error Tim, I don't run Tomcat, so I can't help you there. I am sorry about the commons-httpclient problems, if its any help I have a version with sources dated 7/30/2002 and it builds fine. The nightly Gump builds are performed against the lastest versions of all the Apache sources, and I believe it does this for commons-httpclient too. So this is why you should not have problems with a recent source drop from them. -- Tom Jordahl Macromedia Server Development -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, January 06, 2003 6:13 PM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Tom - Thanks for a reply. :-) Problem #1: You fixed by upgrading Tomcat - from the original error, you have CLASSPATH issues since org/apache/axis/MessageContext is a pretty basic class. It's not actually fixed, since in production, we are still running 3.2.x - so if I can't get this figured out, I can't deploy. Doh! My colleage and myself both installed according to the directions. Has anyone else gotten 1.1 running on Tomcat 3.2.x? Problem #2: You have the wrong version of the commons-http.jar file. Try compiling with the latest nightly build, not the latest release. (don't ask ME why this is.. :-) Hmm... okay, I won't ask, but I did follow the Axis setup directions explicitly... anyway, I'll try that, thanks. ;-) Hope this helps. Thanks - any reply is better than none. :-) Still, it would be nice to find out if anyone has run 1.1 on Tomcat 3.2.1. Cheers, Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Monday, December 23, 2002 8:53 AM To: [EMAIL PROTECTED] Subject: RE: Initial Axis 1.1b Install Failure Build Error Replying to myself here...at least to keep the thread alive - still hoping for additional help. ;-) I loaded up Axis 1.1b inside Tomcat 4.1.18 and it runs swimmingly. No errors. The 3.2.1 issue appears to be a classpath problem of some sort. Can anybody get 1.1b to run in Tomcat 3.2.1? Thanks! Tim -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED]] Sent: Friday, December 20, 2002 9:45 AM To: [EMAIL PROTECTED] Subject: Initial Axis 1.1b Install Failure Build Error Hey folks - I've run Axis before, but I'm starting fresh with 1.1beta and running into two problems - the first is EchoHeaders throwing an InvocationTargetException when using the binary DIST of Axis, the second is a compile problem while trying to build Axis from src with -ALL- of the optional libraries (but narrowed down to the HTTPClient lib I think). Problem #1: Following the 1.1
RE: returning an array of beans (or: why i'm going insane)
WSDL2Java is stomping our implementation class!Turn on the --verbose switch to verify which files are getting emitted. This works fine for me (and the functional tests If I run WSDL2Java my.wsdl (no other options) on the same base path as my server java files, I will always get them stomped. What I wind up doing is redirecting the option with -o. I'm no the first to observe this behavior; this is a reference I used to get started, and the author changes the package name (-p beangen) to avoid stomping. (I didn't do this because I didn't want to change the package of my original service impl class. Axis docs doesn't provide details on array-of-JavaBean serializationThis is true. Care to pitch in and write a patch for the docs for 1.1 ? Look for my book, "How to Serialize Array of JavaBeans and other Complex Type in Axis" to come out on Amazon.com for $29.99! OK, just kidding, I'll se what I can do to contribute to open-source... ;-) Gene Tom Jordahl [EMAIL PROTECTED] wrote: Gene, you made some interesting points: Namespaces are confusingNo argument here... :-) WSDL2Java is stomping our implementation class!Turn on the --verbose switch to verify which files are getting emitted. This works fine for me (and the functional tests). If not, please file a bug with a test case. Axis docs doesn't provide details on array-of-JavaBean serializationThis is true. Care to pitch in and write a patch for the docs for 1.1 ?If you file an enhancement for the docs with a patch (HTML please), it will get in.Thanks!-- Tom Jordahl Macromedia Server Development -Original Message-From: Gene Chuang [mailto:[EMAIL PROTECTED]]Sent: Sunday, December 29, 2002 7:12 PMTo: [EMAIL PROTECTED]; [EMAIL PROTECTED]Subject: Re: returning an array of beans (or: why i'm going insane)Heh, I went through the same rigamarole last week to get Axis to deploy my service that has an array of JavaBeans. Here's how I attacked this problem: According to the docs, just editing the deploy.wsdd to add JavaBean serialization entries should be good enough. However, because XML namespace syntax is nearly impossible to understand, and the docs doesn't show a full example of the wsdd, I had to create just this entry manually by doing the Java2WSDL-WSDL2Java roundtripping. Here are the steps: 1) run Java2WSDL to get the wsdl file2) copy this file to a temp directory and run "WSDL2Java -s" to get the deploy.wsdd and not have your classes stomped3) Manually edit the new deploy.wsdd, remove all the extraneous elements: wsdlServiceElement, wsdlServicePort and wsdlPortType. Change className back to your original service class. And note there should be at least 2 typeMapping entries, YourJavaBean and ArrayOfYourJavaBean! The latter is what you're missing, and is not explained in the docs. Furthurmore, all that complex XML-namespace-to-java-package-mapping are annotated correctly.4) Replace your original wsdd with the new one and deploy.I'm sure Marc and I aren't the first or last to come across this problem. I blame it on the following factors:- XML Namespace is possibly the most confusing spec I've ever encountered and makes it hard to handcode your own wsdl or wsdd.- Axis docs doesn't provide details on array-of-JavaBean serialization, and this practice is very common in the real business world.- WSDL2Java is stomping our implementation class! According to the docs, "When WSDL2Java is asked to generate the implementation template (via the --server-side flag), it will ONLY generate it if it does not already exist. If this implementation already exists, it will not be overwritten." This is not the case!Apache can't do much about Namespace complexity, but I hope it can rectify its documents and WSDL2Java tool!Gene Marc Esher <[EMAIL PROTECTED]>wrote: Hi all,I've been struggling with this for quite some time now, and it's time topost as I am about to go insane. Note that I posted this problem to thecomp.lang.programmer group before receiving my subscription activation forthis list. Here goes:I have a class that returns an array of javabeans (ArticleBean). I want toexpose this class as a web service using Axis. So far, I've been successfulpublishing/consuming simple web services, but I've had no success withanything that returns beans...even the provided sample won't work for me.Here's the relevant axis code from the web service client:String endpoint ="http://localhost:8080/ArticleSearchService/services/ArticleSearchImpl";Service service = new Service();Call call=null;call = (Call) service.createCall();call.setTargetEndpointAddress( new java.net.URL(endpoint) );QName qn = new QName( "urn:ArticleBean", "ArticleBean" );call.registerTypeMapping(ArticleBean.class, qn,neworg.apache.axis.encoding.ser.BeanSerializerFactory(ArticleBean.class, qn),neworg.apache.axis.encoding.ser.BeanDeserializerFactory(ArticleBean.class,qn));call.setOperationName( new QName("ArticleSearchImpl", "searchByDoi") );call.addParameter("doi", XMLType.XSD_STRING,
RE: returning an array of beans (or: why i'm going insane)
Whoops, forgot the url of the reference I used to generate deploy/undeploy.wsdd: http://www.sosnoski.com/presents/java-xml/axis/axis-service.html Gene Chuang [EMAIL PROTECTED] wrote: WSDL2Java is stomping our implementation class!Turn on the --verbose switch to verify which files are getting emitted. This works fine for me (and the functional tests If I run WSDL2Java my.wsdl (no other options) on the same base path as my server java files, I will always get them stomped. What I wind up doing is redirecting the option with -o. I'm no the first to observe this behavior; this is a reference I used to get started, and the author changes the package name (-p beangen) to avoid stomping. (I didn't do this because I didn't want to change the package of my original service impl class. Axis docs doesn't provide details on array-of-JavaBean serializationThis is true. Care to pitch in and write a patch for the docs for 1.1 ? Look for my book, "How to Serialize Array of JavaBeans and other Complex Type in Axis" to come out on Amazon.com for $29.99! OK, just kidding, I'll se what I can do to contribute to open-source... ;-) Gene Tom Jordahl [EMAIL PROTECTED] wrote: Gene, you made some interesting points: Namespaces are confusingNo argument here... :-) WSDL2Java is stomping our implementation class!Turn on the --verbose switch to verify which files are getting emitted. This works fine for me (and the functional tests). If not, please file a bug with a test case. Axis docs doesn't provide details on array-of-JavaBean serializationThis is true. Care to pitch in and write a patch for the docs for 1.1 ?If you file an enhancement for the docs with a patch (HTML please), it will get in.Thanks!-- Tom Jordahl Macromedia Server Development -Original Message-From: Gene Chuang [mailto:[EMAIL PROTECTED]]Sent: Sunday, December 29, 2002 7:12 PMTo: [EMAIL PROTECTED]; [EMAIL PROTECTED]Subject: Re: returning an array of beans (or: why i'm going insane)Heh, I went through the same rigamarole last week to get Axis to deploy my service that has an array of JavaBeans. Here's how I attacked this problem: According to the docs, just editing the deploy.wsdd to add JavaBean serialization entries should be good enough. However, because XML namespace syntax is nearly impossible to understand, and the docs doesn't show a full example of the wsdd, I had to create just this entry manually by doing the Java2WSDL-WSDL2Java roundtripping. Here are the steps: 1) run Java2WSDL to get the wsdl file2) copy this file to a temp directory and run "WSDL2Java -s" to get the deploy.wsdd and not have your classes stomped3) Manually edit the new deploy.wsdd, remove all the extraneous elements: wsdlServiceElement, wsdlServicePort and wsdlPortType. Change className back to your original service class. And note there should be at least 2 typeMapping entries, YourJavaBean and ArrayOfYourJavaBean! The latter is what you're missing, and is not explained in the docs. Furthurmore, all that complex XML-namespace-to-java-package-mapping are annotated correctly.4) Replace your original wsdd with the new one and deploy.I'm sure Marc and I aren't the first or last to come across this problem. I blame it on the following factors:- XML Namespace is possibly the most confusing spec I've ever encountered and makes it hard to handcode your own wsdl or wsdd.- Axis docs doesn't provide details on array-of-JavaBean serialization, and this practice is very common in the real business world.- WSDL2Java is stomping our implementation class! According to the docs, "When WSDL2Java is asked to generate the implementation template (via the --server-side flag), it will ONLY generate it if it does not already exist. If this implementation already exists, it will not be overwritten." This is not the case!Apache can't do much about Namespace complexity, but I hope it can rectify its documents and WSDL2Java tool!Gene Marc Esher <[EMAIL PROTECTED]>wrote: Hi all,I've been struggling with this for quite some time now, and it's time topost as I am about to go insane. Note that I posted this problem to thecomp.lang.programmer group before receiving my subscription activation forthis list. Here goes:I have a class that returns an array of javabeans (ArticleBean). I want toexpose this class as a web service using Axis. So far, I've been successfulpublishing/consuming simple web services, but I've had no success withanything that returns beans...even the provided sample won't work for me.Here's the relevant axis code from the web service client:String endpoint ="http://localhost:8080/ArticleSearchService/services/ArticleSearchImpl";Service service = new Service();Call call=null;call = (Call) service.createCall();call.setTargetEndpointAddress( new java.net.URL(endpoint) );QName qn = new QName( "urn:ArticleBean", "ArticleBean" );call.registerTypeMapping(ArticleBean.class, qn,neworg.apache.axis.encoding.ser.BeanSerializerFactory(ArticleBean.class,
RE: Service instance
Ok thanks a lot Vidyanand - before I start checking out the source code a bit further, is there anyway to set an object as the instantiated service easily using the current api, before the service method is called? (on the server end, rather than the client) This would be very useful because my service is already instantiated and working in the background when it is called. Any assistance would be very grateful indeed! :) Cheers lads, Dave -Original Message- From: Vidyanand Murunikkara [mailto:[EMAIL PROTECTED]] Sent: 07 January 2003 22:26 To: [EMAIL PROTECTED] Subject: RE: Service instance Hi Dave I guess u wanted to know where the class that represents service that is being called in being instantiated. Check out org.apache.axis.providers.java.JavaProvider for that. Look specifically for getNewServiceObject method. Thanks Vidyanand. -Original Message- From: Dave Searle [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 2:00 PM To: [EMAIL PROTECTED] Subject: FW: Service instance Hi all, Where abouts (in the code) does the Axis engine create an instance of a service? I would like the axis server to call itself, and I don't want it to create a new instance, but I would like to pass across an already instanstiated object? Does this make sense? (Probably not :) ) I'm using the latest release of apache axis and the TCP transport sample I've narrowed it down to here. Is the service instantiated in the invoke method of the engine or the getResponse method engine.invoke( msgContext ); } catch( Exception e ) { AxisFault fault = AxisFault.makeFault(e); msgContext.setResponseMessage( new Message(fault) ); } /* Send it back along the wire... */ /***/ msg = msgContext.getResponseMessage(); Cheers, Dave
passing HashMap from Java to .Net (C#)
I have a simple service with one function that returns a java.util.Map When I try to Create the Web Reference in .Net, it fails saying: Reference.map(1): Custom tool error: Unable to important WebService/Schema. Unable to import binding 'ElementServiceSoapBinding' from namespace 'http://mapService.service.com'. Unable to import operation 'getMap'. Object reference not set to an instance of an object. MapService Class function: public java.util.Map getMap() { System.out.println(IN Map Service: getMap()); java.util.Map testMap = new java.util.HashMap(); return testMap; } AXIS v1.0 WSDL: ?xml version=1.0 encoding=utf-8? definitions xmlns:http=http://schemas.xmlsoap.org/wsdl/http/; xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:s=http://www.w3.org/2001/XMLSchema; xmlns:s0=http://xml.apache.org/xml-soap; xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:tns=http://mapService.service; xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/; xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/; targetNamespace=http://mapService.service; xmlns=http://schemas.xmlsoap.org/wsdl/; types s:schema targetNamespace=http://xml.apache.org/xml-soap; s:import namespace=http://schemas.xmlsoap.org/soap/encoding/; / s:complexType name=Map s:sequence s:element minOccurs=0 maxOccurs=unbounded name=item s:complexType s:all s:element name=key type=s:anyType / s:element name=value type=s:anyType / /s:all /s:complexType /s:element /s:sequence /s:complexType s:element name=Map nillable=true type=s0:Map / /s:schema /types message name=getMapRequest / message name=getMapResponse part name=getMapReturn type=s0:Map / /message portType name=MapService operation name=getMap input name=getMapRequest message=tns:getMapRequest / output name=getMapResponse message=tns:getMapResponse / /operation /portType binding name=MapServiceSoapBinding type=tns:mapService soap:binding transport=http://schemas.xmlsoap.org/soap/http; style=rpc / operation name=getMap soap:operation soapAction= / input name=getMapRequest soap:body use=encoded namespace=http://mapService.service; encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; / /input output name=getMapResponse soap:body use=encoded namespace=http://mapService.service; encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; / /output /operation /binding service name=MapServiceService port name=MapService binding=tns:mapServiceSoapBinding soap:address location=http://honda/tia/services/mapService; / /port /service /definitions
Re: AxisFault or Exception are always printing stack trace
1. you just need log4j in the classpath where axis.jar can see it. The stack traces are not caused by log4 being missing so much as axis being too verbose 2. the latest CVS version of axis prints a lot less faults 3. the latest docs also cover how to set up log4j to print less http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/java/docs/reference.ht ml#axis_logging - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 06, 2003 00:49 Subject: AW: AxisFault or Exception are always printing stack trace BTW a happy new year to all of you!!! Hi Toshi, I ensured to have the log4j (1.2.4) everywhere in classpathes and directories of client and server. For my client thjis does work now. No stacktrace is printed and with this working also my problem with the stopping of the process in handled. If something goes wrong, e.g. no valid database-connection, I throw an AxisFault, can set the FaultCode and with this I know on the client-side whats up. But: In my Tomcat the stacktrace is still printed. I think that means, that on server-side he still does not have the log4j correctly. I read about, that you should place some jars inside the Tomcat/common/lib. But this I would not not like, so I have all the jars in web-inf/lib. Do I have to put log4j to common/lib? If yes, could anybody tell me why? And which jars else are absolutely neede in that directory? thanks in advance Seppo
Re: axis and caching
POSTs are inherently non-cacheable, unless there is a bug on yor side. Is it GET you are using? If so, file a bugrep... - Original Message - From: Calvin Smith [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 06, 2003 12:20 Subject: axis and caching I'm testing with axis 1.0 and have noticed that axis does not specify that the soap response is not cachable, which causes me some problems. Is there an option for axis to suppy the caching control in the response? _ The new MSN 8 is here: Try it free* for 2 months http://join.msn.com/?page=dept/dialup
RE: Service instance
Dave Have u considered using scope as Application for the Service. I guess this is what you want to accomplish. thanks Vidyanand -Original Message- From: Dave Searle [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 2:57 PM To: [EMAIL PROTECTED] Subject: RE: Service instance Ok thanks a lot Vidyanand - before I start checking out the source code a bit further, is there anyway to set an object as the instantiated service easily using the current api, before the service method is called? (on the server end, rather than the client) This would be very useful because my service is already instantiated and working in the background when it is called. Any assistance would be very grateful indeed! :) Cheers lads, Dave -Original Message- From: Vidyanand Murunikkara [mailto:[EMAIL PROTECTED]] Sent: 07 January 2003 22:26 To: [EMAIL PROTECTED] Subject: RE: Service instance Hi Dave I guess u wanted to know where the class that represents service that is being called in being instantiated. Check out org.apache.axis.providers.java.JavaProvider for that. Look specifically for getNewServiceObject method. Thanks Vidyanand. -Original Message- From: Dave Searle [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 2:00 PM To: [EMAIL PROTECTED] Subject: FW: Service instance Hi all, Where abouts (in the code) does the Axis engine create an instance of a service? I would like the axis server to call itself, and I don't want it to create a new instance, but I would like to pass across an already instanstiated object? Does this make sense? (Probably not :) ) I'm using the latest release of apache axis and the TCP transport sample I've narrowed it down to here. Is the service instantiated in the invoke method of the engine or the getResponse method engine.invoke( msgContext ); } catch( Exception e ) { AxisFault fault = AxisFault.makeFault(e); msgContext.setResponseMessage( new Message(fault) ); } /* Send it back along the wire... */ /***/ msg = msgContext.getResponseMessage(); Cheers, Dave
Re: Axis Wiki / Axis Usage Page
- Original Message - From: Dan Diephouse [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, January 06, 2003 21:30 Subject: Re: Axis Wiki / Axis Usage Page Speaking of documentation, the axis website sucks. It would be nice if Maven or Forrest were used to generate a decent, navigable, readable site. Forrest, presumably, but we need somebody to docbook all the docs too (Not to mention maven could also clean up the build system ;) ). volunteering?
Re: Castor Serialization Example?
There may not be any (yet). The code came from someone external and I stuck it in to stop it getting lost, but havent ever sat down to try and understand how to use it. If you do come up with anything, please send us it for the docs... - Original Message - From: James Carman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, January 07, 2003 07:00 Subject: Castor Serialization Example? Has anyone got a good Castor serialization/deserialization example including mapping file, etc. James Carman, President Carman Consulting, Inc. 1218 Bob White Ct. Edgewood, KY 41018 (513) 325-7977
RE: axis and caching
Hi Calvin, (B (B I think it's dangerous to implement the way what you proposed. (BThe WebServices are *NOT* static contents, so your client will (Bget some wrong message ( i.e. old message cached by various (Bnetwork devices including proxys ) if you use the mechanism. (B (B Is it acceptable for you ? I wouldn't prefer the methods if so. (BIn this situation, do you still want to have a cache for WS ? (BWhat's the root problems in your system ? I mean that do you (Bhave any actual troubles ? (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: Calvin Smith [mailto:[EMAIL PROTECTED]] (BSent: Wednesday, January 08, 2003 2:11 AM (BTo: [EMAIL PROTECTED] (BSubject: RE: axis and caching (B (BEach time a repsonse is sent from axis it needs these two lines in the HTTP (Bheader: (BCache-Control: no-cache (BPragma: no-cache (B (BThis is so that the various gateways/routers/vpn servers/whatever else knows (Bnot to cache the result of a soap message (B (BNOTE: these lines are included in the client, so only the server(servlet?) (Bneeds fixing. (B (BOriginal Message Follows (BHi Calvin, (B (B I guess that the current AXIS doesn't have the optoin (Bfor caching control. What's your problems ? (B (B I might provide a solution depends on your condition. (B (BRegards, (B (B Toshiyuki Kimura [EMAIL PROTECTED] (B RD Headquarters (B NTT DATA Corp. (B (B-Original Message- (BFrom: Calvin Smith [mailto:[EMAIL PROTECTED]] (BSent: Tuesday, January 07, 2003 5:21 AM (BTo: [EMAIL PROTECTED] (BSubject: axis and caching (B (BI'm testing with axis 1.0 and have noticed that axis does not specify that (Bthe soap response is not cachable, which causes me some problems. Is there (Ban option for axis to suppy the caching control in the response? (B_ (BThe new MSN 8 is here: Try it free* for 2 months (Bhttp://join.msn.com/?page=dept/dialup
RE: axis and caching
Now you confused me Currently Axis server does not specify any kind of caching, so the client is free to cache or not What I would like is for Axis to specify that the results are NOT cachable. My problem now is that the result is getting cached by someone in the middle (proxy? not sure) Original Message Follows Hi Calvin, I think it's dangerous to implement the way what you proposed. The WebServices are *NOT* static contents, so your client will get some wrong message ( i.e. old message cached by various network devices including proxys ) if you use the mechanism. Is it acceptable for you ? I wouldn't prefer the methods if so. In this situation, do you still want to have a cache for WS ? What's the root problems in your system ? I mean that do you have any actual troubles ? Regards, Toshiyuki Kimura [EMAIL PROTECTED] RD Headquarters NTT DATA Corp. -Original Message- From: Calvin Smith [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 08, 2003 2:11 AM To: [EMAIL PROTECTED] Subject: RE: axis and caching Each time a repsonse is sent from axis it needs these two lines in the HTTP header: Cache-Control: no-cache Pragma: no-cache This is so that the various gateways/routers/vpn servers/whatever else knows not to cache the result of a soap message NOTE: these lines are included in the client, so only the server(servlet?) needs fixing. Original Message Follows Hi Calvin, I guess that the current AXIS doesn't have the optoin for caching control. What's your problems ? I might provide a solution depends on your condition. Regards, Toshiyuki Kimura [EMAIL PROTECTED] RD Headquarters NTT DATA Corp. -Original Message- From: Calvin Smith [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 5:21 AM To: [EMAIL PROTECTED] Subject: axis and caching I'm testing with axis 1.0 and have noticed that axis does not specify that the soap response is not cachable, which causes me some problems. Is there an option for axis to suppy the caching control in the response? _ The new MSN 8 is here: Try it free* for 2 months http://join.msn.com/?page=dept/dialup _ Help STOP SPAM: Try the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail
RE: [wsif] sample err: Cannot get Object part 'Result'
U can also code it. Like System.setProperty(proxySet, true); System.getProperties().put( http.proxyHost, serverName ); System.getProperties().put( http.proxyPort, 8080 ); Shobha -Original Message- From: Peake, Chris [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 08, 2003 4:11 AM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' I have not tried this yet, but we have an authenticating proxy. Are there properties for userid and psw which are requiered in my environment. thanks, chris -Original Message- From: Anthony Elder [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:50 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' If you access the Internet via a proxy server you'll need to set the appropriate system properties. For example: java -Dhttp.proxyHost=proxy.somewhere.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost clients.DynamicInvoker http://services.xmethods.net/soap/urn:xmethods-delayed-quotes. wsdl getQuote IBM If thats not the problem you could try running with trace on and post the trace log to this list. For how to use WSIF trace see: http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/jav a/doc/trace.htm ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. Peake, Chris [EMAIL PROTECTED] on 07/01/2003 21:35:46 Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: [wsif] sample err: Cannot get Object part 'Result' I am using the classpath.bat as suggested. Which should be using the *.jars in in xerces2 dir I think, right? -- G:\wsif-2.0rc1classpath build\lib\wsif.jar;build\lib\wsif-j2c.jar;build\classes;build\ samples;build\test s;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc \jaxrpc_1_1.jar;li b\commons_logging\commons-logging.jar;lib\commons_discovery\co mmons-discovery.ja r;lib\axis\servlet22.jar;lib\axis\axis_1_0.jar;lib\axis\axis_1 _0-ant.jar;lib\apa che_soap\apache_soap_2_3_1.jar;lib\jms_api\jms_1_1.jar;lib\xer ces2\xmlParserAPIs _2_2_1.jar;lib\xerces2\xercesImpl_2_2_1.jar;lib\log4j\log4j-1. 2.4.jar;lib\wsdl4j \wsdl4j-20021124.jar;lib\wsdl4j\qname-from-wsdl4j-20021124.jar ;lib\junit\junit-3 .8.1.jar; As a test, I movided the bat and placed my normal xerces 1.4.4 version ahead of this parser, but with the same results. This is not a priority for me. I just wanted to try it out. But if you can think of something, I'll try it. Maybe turning on logging? How? thanks, chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 3:09 PM To: [EMAIL PROTECTED] Subject: RE: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, That is unlikely - the service WSDL in this case has a SOAP binding that uses HTTP as the transport, so firewalls probbaly aren't the problem. I'm now thinking it might be an XML parsing issue. What parser do you use? Also, did you set up the classpath using the classpath script provided with WSIF? That way you won't pick up unnecessary JAR files that might be in your local classpath that might interfere... Nirmal. Peake, Chris [EMAIL PROTECTED] To: m [EMAIL PROTECTED] cc: 01/07/2003 03:26 Subject: RE: [wsif] PMsample err: Cannot get Object part Please respond to 'Result' axis-user I tried it again but with same results. Could it be a firewall situation on my side? chris -Original Message- From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 07, 2003 1:07 PM To: [EMAIL PROTECTED] Subject: Re: [wsif] sample err: Cannot get Object part 'Result' Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. Peake, Chris
RE: [wsif] sample err: Cannot get Object part 'Result'
Title: Message Hi, I was also not able to get response from any of the services hosted on xmethods. Do let me know if it works fine. Shobha -Original Message-From: Nirmal Mukhi [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 08, 2003 12:37 AMTo: [EMAIL PROTECTED]Subject: Re: [wsif] sample err: Cannot get Object part 'Result'Hello Chris, I just ran the sample using the exact command line arguments you provided and it worked ok. Could you try it again (the remote service hosted on XMethods might have been down)? If it still fails, let us know what build/version of WSIF you are using. Thanks, Nirmal. "Peake, Chris" [EMAIL PROTECTED] 01/07/2003 11:09 AM Please respond to axis-user To: [EMAIL PROTECTED] cc: Subject:[wsif] sample err: Cannot get Object part 'Result'Trying to get familiar with WSIF. I just tried to do run the simplesoap example and I get the following error. Cannot get Object part 'Result' As the attached shows, classpath seems to be correct. Didn't find this in history email. Any ideas? thanks. G:\wsif-2.0rc1java clients.DynamicInvoker samples/simplesoap/StockquoteSOAP.wsd l getQuote CA Reading WSDL document from 'samples/simplesoap/StockquoteSOAP.wsdl' Preparing WSIF dynamic invocation - WSIF0006W: Multiple WSIFProvider found supporting the same namespace URI 'http ://schemas.xmlsoap.org/wsdl/soap/'. Found ('org.apache.wsif.providers.soap.apach eaxis.WSIFDynamicProvider_ApacheAxis, org.apache.wsif.providers.soap.apachesoap. WSIFDynamicProvider_ApacheSOAP') - WSIF0007I: Using WSIFProvider 'org.apache.wsif.providers.soap.apacheaxis.WSIFD ynamicProvider_ApacheAxis' for namespaceURI 'http://schemas.xmlsoap.org/wsdl/soa p/' Executing operation getQuote Exception in thread "main" org.apache.wsif.WSIFException: Cannot get Object part 'Result'. No parts are set on the message at org.apache.wsif.base.WSIFDefaultMessage.handleNoPartsException(Unknow n Source) at org.apache.wsif.base.WSIFDefaultMessage.getObjectPart(Unknown Source) at clients.DynamicInvoker.invokeMethod(Unknown Source) thanks, chris smime.p7s Description: application/pkcs7-signature