Re: Question about AXIS and tomcat
Hi Frank; Have you gone through the Axis2 User Guide? I think it would give you more insight into Axis2. Please find some of my humble thoughts bellow. Hi, All, I have a general question about tomcat and AXIS. Is there any relation or execlusion between the two? Not that I know of. You can deploy the axis2.war on any other servlet container (eg.Geronimo) work as you would work on Tomcat. But there can be some version compatibility issues.But it works with geronimo for sure. I am currently starting to work on a web service application which the web server is hosted on TOMCAT and the client is using AXIS to parse WSDL and making SOAP/http calls et cetera. My web service application basically intends to expose some functionalities of another application through web serivce (so there is a server component), it also try to use thrid party web services to integrate with my other applications's functionality (so there is a client component). The server side is really simple from architectural point of view, it basically just a servlet respoding to SOAP/http calls (like publish WSDL and handling operations as defined in the generated WSDL). Now I am trying to expand and enhance the web service application, but as a web service novice, I would like to seek some expert advices here. (1) Can I use AXIS on the server side? can AXIS replace the servlet? Yes you can. Are you using this servlet to anything other than serving SOAP calls? (2) On the client side, currently I am just able to make SOAP/http calls. I know AXIS2 offers lots of new features. Which of those are more important than others from web service perspective? I am trying to enhance my web service client so that I can better consume third party web services like Google adwords et cetera. Generate stubs for these web services (eg.Google adwords) using Axis2 wsdl2java tool you can access these services through those stubs. (3) Is there such a thing called platform web service? What are the essential features of it? Maybe I am asking wrong question here, but I am trying to understand what I can do to enhance my server side compoent, which currently is just a servlet structually. Well, enough for now, any feedback is really appreciated. Thanks much in advance. Frank __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Question about AXIS and tomcat
Frank, Axis and Axis2 are web service frameworks. They make it easier for you to implement web service clients and services. Axis supports web services that use the SOAP protocol. Axis2 supports SOAP as well as plain old XML (POX) over HTTP services. Both Axis and Axis2 server-side frameworks are implemented as servlets. They run on Tomcat or some other servlet engine. (They both also support a stand-alone configuration, but it's not recommended for production systems.) From a server-side perspective, for in-bound messages, they receive HTTP requests, process the XML message, and dispatch the request by invoking the appropriate service method. The process the XML message step includes processing message headers and optionally translating the XML body into Java objects. (A configuration file tells the framework how to process the message.) For out-bound messages, the framework takes the return value, packages it back into an XML message, adds any required headers, and returns the message to the caller. From a client-side perspective, for each request, it packages the request into an XML message, adds any required headers, sends the message to the appropriate server, and waits for a response. On response, it processes the XML message and returns the return value to the application. Hope this helps. Anne On 12/29/06, Frank Zhou [EMAIL PROTECTED] wrote: Hi, All, I have a general question about tomcat and AXIS. Is there any relation or execlusion between the two? I am currently starting to work on a web service application which the web server is hosted on TOMCAT and the client is using AXIS to parse WSDL and making SOAP/http calls et cetera. My web service application basically intends to expose some functionalities of another application through web serivce (so there is a server component), it also try to use thrid party web services to integrate with my other applications's functionality (so there is a client component). The server side is really simple from architectural point of view, it basically just a servlet respoding to SOAP/http calls (like publish WSDL and handling operations as defined in the generated WSDL). Now I am trying to expand and enhance the web service application, but as a web service novice, I would like to seek some expert advices here. (1) Can I use AXIS on the server side? can AXIS replace the servlet? (2) On the client side, currently I am just able to make SOAP/http calls. I know AXIS2 offers lots of new features. Which of those are more important than others from web service perspective? I am trying to enhance my web service client so that I can better consume third party web services like Google adwords et cetera. (3) Is there such a thing called platform web service? What are the essential features of it? Maybe I am asking wrong question here, but I am trying to understand what I can do to enhance my server side compoent, which currently is just a servlet structually. Well, enough for now, any feedback is really appreciated. Thanks much in advance. Frank __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
a question about axis
Hi, I have a php soap webservice to query mssql database. I need to write a java clientto call this service.Is Axis work for it and how? Will anybody give some example code? Thanks in advance --jg Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
Re: a question about axis
j g wrote: Hi, I have a php soap webservice to query mssql database. I need to write a java clientto call this service.Is Axis work for it and how? Will anybody give some example code? Thanks in advance --jg Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1/min. No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.405 / Virus Database: 268.10.10/419 - Release Date: 15/08/2006 ::: AVISORTECH ::: Hello, with this ant-script you can generate the client: project name="somthing" property name="axis.home" value="C:/axis-1_3" / property name="javamail.home" value="C:/javamail-1.4ea" / property name="jaf.home" value="C:/jaf-1.0.2" / path id="axis.classpath" fileset dir="axis/lib" include name="**/*.jar"/ /fileset fileset dir="C:/javamail-1.4ea/lib" include name="**/*.jar"/ /fileset fileset dir="C:/jaf-1.0.2" include name="**/*.jar"/ /fileset /path taskdef resource="axis-tasks.properties" classpathref="axis.classpath" / target name="generate-client-stub" axis-wsdl2java url="" mapping namespace="namespace" package="packeage"/ /axis-wsdl2java /target /project Nicols G. Rico Ing. Desarrollador. Avisortech Ltda. Telfono: (571) 3 - 45 88 33 [EMAIL PROTECTED] Este mensaje y cualquier archivo anexo son confidenciales y para uso exclusivo de la persona(s) o entidad(es) a la(s) que va dirigido, en los trminos de los acuerdos de confidencialidad previamente suscritos, si los hubiere. Su contenido est protegido por las normas que garantizan la inviolabilidad de la correspondencia y por las que tutelan el secreto industrial, secreto comercial, informacin sujeta a reserva bancaria o por cualquier otro tipo de secreto profesional o garanta similar, como la reserva entre abogado y cliente, segn el caso. Por ello, si usted ha recibido este mensaje por error o equivocacin, por favor brrelo de su sistema inmediatamente, as como todas sus copias y notifique al remitente en forma inmediata. Bajo las leyes penales y civiles del pas de origen de este correo, Usted no podr usar, revelar, distribuir, imprimir o copiar ninguna de las partes de este mensaje sin el consentimiento del remitente. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: a question about axis
You need to publish your WSDL first Afterwards you can do a WSDL2Java to create the necessary stubs- M- *This email message and any files transmitted with it contain confidentialinformation intended only for the person(s) to whom this email message isaddressed. If you have received this email message in error, please notifythe sender immediately by telephone or email and destroy the originalmessage without making a copy. Thank you. - Original Message - From: Nicolas Guaneme To: axis-user@ws.apache.org Sent: Tuesday, August 15, 2006 4:14 PM Subject: Re: a question about axis j g wrote: Hi, I have a php soap webservice to query mssql database. I need to write a java clientto call this service.Is Axis work for it and how? Will anybody give some example code? Thanks in advance --jg Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min. No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.405 / Virus Database: 268.10.10/419 - Release Date: 15/08/2006 Hello, with this ant-script you can generate the client: project name="somthing" property name="axis.home" value="C:/axis-1_3" / property name="javamail.home" value="C:/javamail-1.4ea" / property name="jaf.home" value="C:/jaf-1.0.2" / path id="axis.classpath" fileset dir="axis/lib" include name="**/*.jar"/ /fileset fileset dir="C:/javamail-1.4ea/lib" include name="**/*.jar"/ /fileset fileset dir="C:/jaf-1.0.2" include name="**/*.jar"/ /fileset /path taskdef resource="axis-tasks.properties" classpathref="axis.classpath" / target name="generate-client-stub" axis-wsdl2java url="" mapping namespace="namespace" package="packeage"/ /axis-wsdl2java /target/project Nicolás G. Rico Ing. Desarrollador.Avisortech Ltda.Teléfono: (571) 3 - 45 88 33[EMAIL PROTECTED] Este mensaje y cualquier archivo anexo son confidenciales y para uso exclusivo de la persona(s) o entidad(es) a la(s) que va dirigido, en los términos de los acuerdos de confidencialidad previamente suscritos, si los hubiere. Su contenido está protegido por las normas que garantizan la inviolabilidad de la correspondencia y por las que tutelan el secreto industrial, secreto comercial, información sujeta a reserva bancaria o por cualquier otro tipo de secreto profesional o garantía similar, como la reserva entre abogado y cliente, según el caso. Por ello, si usted ha recibido este mensaje por error o equivocación, por favor bórrelo de su sistema inmediatamente, así como todas sus copias y notifique al remitente en forma inmediata. Bajo las leyes penales y civiles del país de origen de este correo, Usted no podrá usar, revelar, distribuir, imprimir o copiar ninguna de las partes de este mensaje sin el consentimiento del remitente.- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: A question about AXIS c++ project status
Hi Yair, Axis C/C++ is still being developed and there will be a new release (1.6) available soon. There is still a nightly build that is available from the website and the code is in SVN. Regards, Fred Preston. Yair Zaslavsky [EMAIL PROTECTED] 21/05/2006 16:56 Please respond to Apache AXIS C User List axis-c-user@ws.apache.org To axis-c-user@ws.apache.org cc Subject A question about AXIS c++ project status Good day, My company (Imagine communications) is looking for several alternatives to implement C++ web services and clients. I was under the impression that the development of Axis C++ was terminated, but today I looked again at your site and saw that you released a build at 3/3/2006. Can you please clarify for us the current status of the Axis c++ project? Thanks in advance, Yair Zaslavsky Management systems software engineer Imagine communications
A question about Axis C++ development status
Good day, My company (Imagine communications) is looking for several alternatives to implement C++ web services and clients. I was under the impression that the development of Axis C++ was terminated, but today I looked again at your site and saw that you released a build at 3/3/2006. Can you please clarify for us the current status of the Axis c++ project? Thanks in advance, Yair Zaslavsky Management systems software engineer Imagine communications
Re: Question about Axis xsd__ types
Adrian Dick wrote: Hi, I think you have mis-understood the API for Arrays here. Because we need to handle nil (or NULL) elements within arrays, we can't simply use a NULL terminated array. Therefore we have a small class to hold the array, of the following structure (using xsd__string example): class xsd__string_Array { public: xsd__string * m_Array; int m_Size; // Size of array (inc. NULL or empty elements) }; Which you would use something like: xsd__string_Array arrayInput; arrayInput.m_Array = new xsd__string[2]; arrayInput.m_Size = 2; webServiceStub-methodWithArrayInput(arrayInput); Thank you for your help, greatly appreciated. =) I am having some issues with the serialization of these arrays , however. I'm handling the xsd__string_Array objects just as described: --- // already defined: std::vectorstd::string aVector; xsd__string_Array aXsdArray; //then do something like: aXsdArray.m_Size = aVector.size(); char* theArr[aXsdArray.m_Size + 1]; // + 1 for the NULL terminator (is this needed?) int i = 0; for (std::vectorstd::string::iterator p = aVector.begin(); p!=aVector.end(); p++) { std::string theStr = *p; theArr[i] = const_castchar*(theStr.c_str()); i++; } theArr[i] = NULL; aXsdArray.m_Array = theArr; --- I've stepped through this with gdb and it seems to be doing just what I would like (aside from the NULL termination, which I don't know whether or not is needed). From my previous email, these xsd__string_Array objects are elements of a complex type: xsd:element name=getLevels xsd:complexType xsd:sequence ...some other elements... xsd:element name=Artist type=xsd:string minOccurs=0 maxOccurs=unbounded/ When I call the service, the output from TCPMon is below. All of the xsd__string_Array elements seem to have one incorrect entry (I was anticipating multiple entries for each array element containing the distinct values - is that correct?). thanks, ~kevin -- SOAP request: -- POST /nile/services/LevelsService HTTP/1.1 Host: denial:2000 Content-Type: text/xml; charset=UTF-8 SOAPAction: Content-Length: 1296 ?xml version='1.0' encoding='utf-8' ? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; SOAP-ENV:Body ns1:getLevels xmlns:ns1=http://www.dreamworks.com/nile/schema/; ns1:ProdCodeMAD/ns1:ProdCode ns1:LevelNamePatternsome level name pattern/ns1:LevelNamePattern ns1:LevelTypeFX/ns1:LevelType ns1:LevelIsIPtrue/ns1:LevelIsIP ns1:NoteSome note/ns1:Note ns1:NotePatternsome note pattern/ns1:NotePattern ns1:Artistp���/ns1:Artist ns1:TaskNamep���/ns1:TaskName ns1:CompletedDatep���/ns1:CompletedDate ns1:Attemptp���/ns1:Attempt ns1:LevelReusep���/ns1:LevelReuse ns1:SequenceNamep���/ns1:SequenceName ns1:SequenceNamePatternsome seqname pattern/ns1:SequenceNamePattern ns1:SequenceStatusp���/ns1:SequenceStatus ns1:ShotNamep���/ns1:ShotName ns1:ShotNamePatternsome shotname pattern/ns1:ShotNamePattern ns1:ShotStatusp���/ns1:ShotStatus ns1:ShotIsOnHoldfalse/ns1:ShotIsOnHold ns1:ShotPriorityp���/ns1:ShotPriority ns1:ShotPriorityPatternsome shotprior pattern/ns1:ShotPriorityPattern ns1:UserLoginkrogers/ns1:UserLogin /ns1:getLevels /SOAP-ENV:Body /SOAP-ENV:Envelope -- SOAP response: -- HTTP/1.1 500 Internal Server Error Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Wed, 19 Oct 2005 20:57:42 GMT Server: Apache-Coyote/1.1 Connection: close 21e ?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:Bodysoapenv:Faultfaultcodesoapenv:Server.userException/faultcodefaultstringjava.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence./faultstringdetailns1:hostname xmlns:ns1=http://xml.apache.org/axis/;denial.pdi.com/ns1:hostname/detail/soapenv:Fault/soapenv:Body/soapenv:Envelope 0 -- Kevin Rogers PDI / Dreamworks ext.29163 | 650.562.9163 [EMAIL PROTECTED]
Re: Question about Axis xsd__ types
Hi, I think you have mis-understood the API for Arrays here. Because we need to handle nil (or NULL) elements within arrays, we can't simply use a NULL terminated array. Therefore we have a small class to hold the array, of the following structure (using xsd__string example): class xsd__string_Array { public: xsd__string * m_Array; int m_Size; // Size of array (inc. NULL or empty elements) }; Which you would use something like: xsd__string_Array arrayInput; arrayInput.m_Array = new xsd__string[2]; arrayInput.m_Size = 2; webServiceStub-methodWithArrayInput(arrayInput); I hope this is of help. Regards, Adrian ___ Adrian Dick ([EMAIL PROTECTED]) Kevin Rogers [EMAIL PROTECTED] wrote on 14/10/2005 19:31:35: Hello, I'm having some difficulties dealing with the Axis defined xsd__ types used for De/Serialization from SOAP. Basically, I had a service constructed which only used strings (well, actually char* as that's what Axis uses) for the parameters to the service calls, and everything worked great. I built an API around the Axis-generated that accepted char* as parameters and then passed those to the corresponding Axis call that accepted xsd__string's as it's parameters. I know that xsd__string is typedef'd to 'char', so this was not a problem and worked great. Originally, when I was only passing single strings my WSDL definition looked like this: xsd:element name=getLevels xsd:complexType xsd:sequence xsd:element name=ProdCode type=xsd:string/ xsd:element name=Type type=xsd:string/ ... ...the function generated from this WSDL has for it's parameters xsd__string, which I was successfully calling by doing something like this: public myWrapper(char* aProdCode, char* aType) { code to get the ServicePortType... theService-getLevels(aProdCode, aType); } However, I now want to change the API to accept arrays of strings (char*) and boolean values. Here is what my WSDL now looks like: xsd:element name=getLevels xsd:complexType xsd:sequence xsd:element name=ProdCode type=xsd:string minOccurs=1 maxOccurs=1/ xsd:element name=LevelNamePattern type=xsd:string minOccurs=0 maxOccurs=1/ xsd:element name=LevelType type=xsd:string minOccurs=0 maxOccurs=1/ xsd:element name=LevelIsIP type=xsd:boolean minOccurs=0 maxOccurs=1/ xsd:element name=Artist type=xsd:string minOccurs=0 maxOccurs=unbounded/ ...the function generated from this WSDL now has for it's parameters xsd__string, xsd__boolean and xsd__string_Array values. I know that xsd__string_Array is typedef'd to an array of xsd__string, which would mean an array of 'char', correct? I also see from the code that xsd__boolean is typedef'd to an enum containing true and false values. My wrapper API call now looks like this, accepting boolean and char*[] values: public myWrapper(char* aProdCode, char* aLevelNamePattern, char* aLevelType, bool aLevelIsIP, char* aArtist[]) { code to get the ServicePortType... theService-getLevels(aProdCode, aLevelName Pattern, aLevelType, aLevelIsIP, aArtist); } However, the compiler complains with the above code (I've eliminated quite a few parameters in the above code for clarity): LevelServiceAPI.cpp: In function `tLevel_Array getLevels(char*, char*, char*, bool, char*, char*, char**, char**, char**, char**, char**, char**, char*, char**, char**, char*, char**, bool, char**, char*, char*)': LevelServiceAPI.cpp:106: no matching function for call to `LevelsServicePortType::getLevels(char*, char*, char*, bool, char*, char*, char**, char**, char**, char**, char**, char**, char*, char**, char**, char*, char**, bool, char**, char*, char*)' LevelsServicePortType.hpp:28: candidates are: tLevel_Array LevelsServicePortType::getLevels(char*, char*, char*, axiscpp::xsd__boolean, char*, char*, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, char*, axiscpp::xsd__string_Array, axiscpp::xsd__string_Array, char*, axiscpp::xsd__string_Array, axiscpp::xsd__boolean, axiscpp::xsd__string_Array, char*, char*) All of the parameters defined in the ServicePortType function with type of xsd__String_Array or xsd_boolean are mapped to char** and boolean values accordingly. One strange thing that I did notice was that the compiler changed the references of xsd__string to char* when outputting the above message, but did not do so for xsd__string_Array or xsd__boolean. (What I mean by that is that the definition of the function in the ServicePortType class has xsd__string, xsd__string_Array and xsd__boolean as it's parameters, but the compiler seems to only