Not able to deploy service!
Hi When i try to delploy a deploy.wsdd file, using the following command (using Axis RC-1) java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd I got the following error (Tomcat is running at 8080) - Internal Servlet Error: java.lang.NoSuchMethodError at org.apache.axis.deployment.wsdd.WSDDDocument.(WSDDDocument.java:103) at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:209) at org.apache.axis.AxisEngine.init(AxisEngine.java:187) at org.apache.axis.AxisEngine.(AxisEngine.java:172) at org.apache.axis.server.AxisServer.(AxisServer.java:125) at org.apache.axis.server.AxisServer.(AxisServer.java:120) at org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:151) at org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:115) at org.apache.axis.server.AxisServer.getServer(AxisServer.java:110) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:221) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:187) at org.apache.axis.transport.http.AdminServlet.doGet(AdminServlet.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) Could any one please tell me, where is the problem? thanks, regards, Naresh Agarwal
RE: MessageContext.setMaintainSession
Title: Message What about non-axis (or for that matter non-java, ie .Net clients) and session management ? -Original Message-From: Volanis, Alexander [mailto:[EMAIL PROTECTED]]Sent: 27. september 2002 16:48To: '[EMAIL PROTECTED]'Subject: RE: MessageContext.setMaintainSession The correct way to enable session management is in your deploy.wsdd file. Add parameter name="scope" value="Session"/ to your service deployment. To get the desired effect your clients have to enable session management as well. Use ((org.apache.axis.client.Stub) ws).setMaintainSession(true) where "ws" is your service client instance returned by the ServiceLocator class implementation in Axis client generated code terms.
RE: Not able to deploy service!
Naresh, In the source you can check the method that the JVM is not able to find. When you are using AXIS RC1.0 then the method on that line is getLocalName() on a org.w3c.dom.Element class. What JVM XML parser are you using? Sjaak -Original Message- From: Naresh Agarwal [mailto:[EMAIL PROTECTED]] Sent: 30 September, 2002 9:56 To: [EMAIL PROTECTED] Subject: Not able to deploy service! Hi When i try to delploy a deploy.wsdd file, using the following command (using Axis RC-1) java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd I got the following error (Tomcat is running at 8080) - Internal Servlet Error: java.lang.NoSuchMethodError at org.apache.axis.deployment.wsdd.WSDDDocument.(WSDDDocument.java:103) at org.apache.axis.configuration.FileProvider.configureEngine(Fil eProvider.java:209) at org.apache.axis.AxisEngine.init(AxisEngine.java:187) at org.apache.axis.AxisEngine.(AxisEngine.java:172) at org.apache.axis.server.AxisServer.(AxisServer.java:125) at org.apache.axis.server.AxisServer.(AxisServer.java:120) at org.apache.axis.server.DefaultAxisServerFactory.createServer(D efaultAxisServerFactory.java:151) at org.apache.axis.server.DefaultAxisServerFactory.getServer(Defa ultAxisServerFactory.java:115) at org.apache.axis.server.AxisServer.getServer(AxisServer.java:110) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisS ervletBase.java:221) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisS ervletBase.java:187) at org.apache.axis.transport.http.AdminServlet.doGet(AdminServlet .java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisSer vletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper .java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextM anager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processCo nnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoin t.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPo ol.java:498) at java.lang.Thread.run(Thread.java:484) Could any one please tell me, where is the problem? thanks, regards, Naresh Agarwal -- The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.
Re: MessageContext.setMaintainSession
On Monday 30 September 2002 09:58, Jan-Olav Eide wrote: What about non-axis (or for that matter non-java, ie .Net clients) and session management ? When using HTTP cookies for session management the MS SOAP library 3.0 supports this automatically. As for .net clients I do not know but I think they will do the same. -- Matthias Brunner [EMAIL PROTECTED] PGP FP 7862 32B3 3B75 292A F76F 5042 8587 21AB 5B89 D501 Check out http://blumenstrasse.vol.at/~mb/gpgkey.asc
RE: MessageContext.setMaintainSession
When using HTTP cookies for session management the MS SOAP library 3.0 supports this automatically. As for .net clients I do not know but I think they will do the same. So what is the best way to gracefully detect and reject requests from (MS SOAP or Java) clients that are not session-enabled, given that my service requires that they should be ? -- jo
RE: Not able to deploy service!
Naresh, The localName is part of DOM level 2. It looks like a level 1 parser is used, but Xerces 1.4.4 is level 2. I can't help you any further. Sjaak -Original Message- From: Naresh Agarwal [mailto:[EMAIL PROTECTED]] Sent: 30 September, 2002 10:30 To: [EMAIL PROTECTED] Subject: RE: Not able to deploy service! Hi Sjaak I'm using Xerces 1.4.4 and JDK 1.3 regards, Naresh Agarwal -Original Message- From: Schie, Sjaak van [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 1:39 PM To: '[EMAIL PROTECTED]' Subject: RE: Not able to deploy service! Naresh, In the source you can check the method that the JVM is not able to find. When you are using AXIS RC1.0 then the method on that line is getLocalName() on a org.w3c.dom.Element class. What JVM XML parser are you using? Sjaak -Original Message- From: Naresh Agarwal [mailto:[EMAIL PROTECTED]] Sent: 30 September, 2002 9:56 To: [EMAIL PROTECTED] Subject: Not able to deploy service! Hi When i try to delploy a deploy.wsdd file, using the following command (using Axis RC-1) java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd I got the following error (Tomcat is running at 8080) - Internal Servlet Error: java.lang.NoSuchMethodError at org.apache.axis.deployment.wsdd.WSDDDocument.(WSDDDocument.java:103) at org.apache.axis.configuration.FileProvider.configureEngine(Fil eProvider.java:209) at org.apache.axis.AxisEngine.init(AxisEngine.java:187) at org.apache.axis.AxisEngine.(AxisEngine.java:172) at org.apache.axis.server.AxisServer.(AxisServer.java:125) at org.apache.axis.server.AxisServer.(AxisServer.java:120) at org.apache.axis.server.DefaultAxisServerFactory.createServer(D efaultAxisServerFactory.java:151) at org.apache.axis.server.DefaultAxisServerFactory.getServer(Defa ultAxisServerFactory.java:115) at org.apache.axis.server.AxisServer.getServer(AxisServer.java:110) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisS ervletBase.java:221) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisS ervletBase.java:187) at org.apache.axis.transport.http.AdminServlet.doGet(AdminServlet .java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisSer vletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper .java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextM anager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processCo nnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoin t.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPo ol.java:498) at java.lang.Thread.run(Thread.java:484) Could any one please tell me, where is the problem? thanks, regards, Naresh Agarwal -- The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. -- The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.
attribute and complexType - Axis bug ?
Hi, I have a problem that looks like an Axis bug. If anybody confirms this I'll file a bug, otherwise please tell me what the solution is. I'm using the following WSDL fragment: xs:simpleType name=UserIdType xs:restriction base=xs:string/ /xs:simpleType xs:complexType name=PresenceRequestType xs:annotation xs:documentationDescribes the PresenceRequest message/xs:documentation/xs:annotation xs:attribute name=UserId type=prs:UserIdType use=required/ /xs:complexType xs:complexType name=GetPresenceRequestType xs:annotation xs:documentationDescribes the GetPresenceRequest message/xs:documentation/xs:annotation xs:complexContent xs:extension base=PresenceRequestType xs:sequence xs:element name=UserIdTable type=prs:UserIdTableType/ xs:element name=AttributeNameTable type=prs:AttributeNameTableType minOccurs=0/ /xs:sequence /xs:extension /xs:complexContent /xs:complexType My problem is, that when sending a request of GetPresenceRequestType type, the userId attribute does not appear anywhere in the message. If I change userId from attribute to element, everything runs okay. Why wouldn't work as an attribute ? Can somebody confirm that this is a bug ? Thanx, Geza
Re: Not able to deploy service!
Hi! Try deploying like this java org.apache.axis.client.AdminClient -hlocalhost -p8080 -s/axis/services/AdminService deploy.wsdd Best regards, Kovi At 13:25 30.9.2002 +0530, you wrote: Hi When i try to delploy a deploy.wsdd file, using the following command (using Axis RC-1) java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd I got the following error (Tomcat is running at 8080) - Internal Servlet Error: java.lang.NoSuchMethodError at org.apache.axis.deployment.wsdd.WSDDDocument.(WSDDDocument.java:103) at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:209) at org.apache.axis.AxisEngine.init(AxisEngine.java:187) at org.apache.axis.AxisEngine.(AxisEngine.java:172) at org.apache.axis.server.AxisServer.(AxisServer.java:125) at org.apache.axis.server.AxisServer.(AxisServer.java:120) at org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:151) at org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:115) at org.apache.axis.server.AxisServer.getServer(AxisServer.java:110) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:221) at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:187) at org.apache.axis.transport.http.AdminServlet.doGet(AdminServlet.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) Could any one please tell me, where is the problem? thanks, regards, Naresh Agarwal
Re: Help with MIME
Hi Torsten, I've had teh same problem. currently the WSDL MIME binding is not implemented in AXIS. There is some special support which will not lead to interoperable solutions. I've attached an earlier mail from Russel. There is one example which does not use any WSDL tool in samples/attachments. I've been working on a service which uses the {http://xml.apache.org/xml-soap}DataHandler type in WSDL which will be mapped to javax.activation.DataHandler type for generic mime attachments. But I still have problems with that. This support is not included in RC1 so you will have to checkout one of the recent nightly builds or build AXIS from CVS. Bye, Uli -- Ulrich Winter 100world AG - Original Message - From: Torsten Kablitz [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, September 27, 2002 2:58 AM Subject: Help with MIME I'm building a client system using Axis, but I need to send and receive MIME attachments. One, the WSDL2Java tool fails when the wsdl file includes MIME definitions and two, where do I find a good example of how to do this with the Axis toolkit? Thanks, Torsten ---BeginMessage--- There is limited support for mime bindings. See test/wsdl/attachments/mime.wsdl. This WSDL follows the WSDL 1.1 spec, but the WSDL 1.1 spec is broken wrt mime bindings so AXIS has also added a few AXIS-specific (ie., it won't interoperate with anyone else's SOAP engine) MIME types: ... xmlns:axis=http://xml.apache.org/xml-soap;... message name=x type=axis:Image/ = image/jpeg = java.awt.Image message name=x type=axis:PlainText/ = text/plain = java.lang.String message name=x type=axis:Multipart/ = multipart/related = javax.mail.internet.MimeMultipart message name=x type=axis:Source/ = text/xml = javax.xml.transform.Source message name=x type=axis:DataHandler/ = javax.activation.DataHandler Russell Butek [EMAIL PROTECTED] Davanum Srinivas [EMAIL PROTECTED] on 09/26/2002 06:29:05 AM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED], [EMAIL PROTECTED] cc: Subject:Re: WSDL MIME binding support in axis? It will be added as soon as you send in a patch for it :) No ETA as yet, Definitely Post 1.0. -- dims --- Ulrich Winter [EMAIL PROTECTED] wrote: Hi, the JAX-RPC spec doesn't require an implementation to use the WSDL MIME binding to support remote method calls with MIME encoded content. It seems, that AXIS currently doesn't use the WSDL mime binding. Is this right? When will WSDL MIME binding support be added to AXIS? Thank you, Uli = Davanum Srinivas - http://xml.apache.org/~dims/ __ Do you Yahoo!? New DSL Internet Access from SBC Yahoo! http://sbc.yahoo.com ---End Message---
org.xml.sax.SAXException: No deserializer, problem
I have a soap service that has a method of signature like: public Folder[] logon (String configDir, String appName, String serverName, String loginName, String passwd) Where Folder is a Java bean representing a file directory. This same interface works with SoapImplementation, but when I port it to Axis, the XML message goes from client to server well, but then on the client side, it reports the following error message. What have I do wrong Please help. Thanks. org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema} anyType at org.apache.axis.encoding.DeserializerImpl.onStartElement(Deserializer Impl.java:446) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:393) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:244) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:268) at org.apache.axis.client.Call.invoke(Call.java:1862) at org.apache.axis.client.Call.invoke(Call.java:1768) at org.apache.axis.client.Call.invoke(Call.java:1306) at com.symcor.od.client.soap.AxisClient.logon(AxisClient.java:52)
RE: logging error (DiscoveryException for LogFactory implementation)
Hi, I'm getting the same error. I'm running Axis in a IBM WebSphere 3.5 AppServer. The beta 3 version worked without problems. Does anybody know why this is happening? Thanks! org.apache.commons.discovery.DiscoveryException: No implementation defined for org.apache.commons.logging.LogFactory at org.apache.commons.discovery.tools.SPInterface.newInstance(SPInterface.java:197) at org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579) at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418) at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378) at org.apache.axis.components.logger.LogFactory.clinit(LogFactory.java:70) at org.apache.axis.transport.http.AxisServlet.clinit(AxisServlet.java:97) ... -Original Message- From: Eric Fixler [mailto:[EMAIL PROTECTED]] Sent: 20. september 2002 19:38 To: [EMAIL PROTECTED] Subject: Re: logging error (DiscoveryException for LogFactory implementation) Hi. Thanks for your reply. I've tried in with and without the jars in the CLASSPATH. Currently, the jars are not in the classpath; they are only in the lib/ folder of the web application. Either way, the error is the same. eric On Friday, Sep 20, 2002, at 08:49 US/Pacific, Sharmin Choksey wrote: Does your CLASSPATH in environment.sh have commons-discovery.jar and commons-logging.jar in them ? -Sharmin.
Re: Dynamic publishing
Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 26, 2002 11:13 PM Subject: Dynamic publishing Hi there, Does Axis support dynamic publishing? My intention: +I have a class called BankAccount with 3 methods: +void deposit(int amount) +void withdraw(int amount) +int checkBalance() +I have a class Bank, which have 1 method: String getAccount(String accountNo). +I statically publish it as Web service, users will call getAccount method to get the URL to BankAccount web service, for example: if user called getAccount(12345), URL returned is: http://somehost/axis/services/account12345 +users then interact with this BankAccount webservice to deposit, withdraw, checkBalance. +In order to achieve this, it's required to dynamically publish each BankAccount instance as a web service. Is this possible with Axis? I would really appreciate any pointers. Cheers, Tuan
RE: org.xml.sax.SAXException: No deserializer, problem
Hi, Please help as I really have to get something done for our evaluation of AXIS. I really appreciate your help and a quick reply. Now the problem is that I register the bean mapping as follows: deployment xmlns=http://xml.apache.org/axis/wsdd/; xmlns:java=http://xml.apache.org/axis/wsdd/providers/java; service name=symcor:RequestorService provider=java:RPC parameter name=className value=com.symcor.od.server.soap.AxisFacade/ parameter name=allowedMethods value=*/ /service beanMapping qname=symcor:folder xmlns:symcor=symcor:RequestorService languageSpecificType=java:com.symcor.od.common.soap.message.Folder/ /deployment The API is as bellows: public Folder[] logon (String configDir, String appName, String I tried the wsdd file as above, but got the following error: === - Exception: org.xml.sax.SAXException: No deserializer defined for array type {symcor:Request orService}folder at org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDe serializer.java:256) === So I guess that the problem is that the Folder[] type is not known to Axis, even Folder is. So I add typeMapping to it, as deployment xmlns=http://xml.apache.org/axis/wsdd/; xmlns:java=http://xml.apache.org/axis/wsdd/providers/java; service name=symcor:RequestorService provider=java:RPC parameter name=className value=com.symcor.od.server.soap.AxisFacade/ parameter name=allowedMethods value=*/ typeMapping xmlns:ns=symcor:RequestorService qname=symcor:arrayOfFolder type=java:com.symcor.od.common.soap.message.Folder[] serializer=org.apache.axis.encoding.ser.ArraySerializerFactory deserializer=org.apache.axis.encoding.ser.ArrayDeserializerFactory encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; / /service beanMapping qname=symcor:folder xmlns:symcor=symcor:RequestorService languageSpecificType=java:com.symcor.od.common.soap.message.Folder/ /deployment However, this time, I got another error message and I even can not deploy: faultCode: {http://xml.apache.org/axis/}Server.userException faultString: org.apache.axis.deployment.wsdd.WSDDException: javax.xml.rpc.JAXRP CException: Null qualified name specified. javax.xml.rpc.JAXRPCException: Null qualified name specified. at org.apache.axis.encoding.TypeMappingImpl.register(TypeMappingImpl.jav a(Compiled Code)) at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDSer It seems to me that the Axis picks up the definition of type Folder, but not Folder[]. How should I tell Axis about Folder[]? I really appreciate your help. Thanks alot for your quick reply. Jian -Original Message- From: Jian Zhang [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 10:21 AM To: '[EMAIL PROTECTED]' Subject: org.xml.sax.SAXException: No deserializer, problem I have a soap service that has a method of signature like: public Folder[] logon (String configDir, String appName, String serverName, String loginName, String passwd) Where Folder is a Java bean representing a file directory. This same interface works with SoapImplementation, but when I port it to Axis, the XML message goes from client to server well, but then on the client side, it reports the following error message. What have I do wrong Please help. Thanks. org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema} anyType at org.apache.axis.encoding.DeserializerImpl.onStartElement(Deserializer Impl.java:446) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:393) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm pl.java:369) at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese rializationContextImpl.java:896) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja va:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen t.java:681) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:244) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:268) at
RE: Asynchronous callback handles
Title: Message AFAIK, not natively. However, be creative: if the client passes its namespace uri, local part, and end point to the server on the initial call, the server can use this information at a later time to call the client. I have done this and it works. -Original Message-From: Jeff Schenk [mailto:[EMAIL PROTECTED]]Sent: Monday, September 30, 2002 11:52 AMTo: [EMAIL PROTECTED]Subject: Asynchronous callback handles Does AXIS support a Asynchronous callback methodology? Where: Client invokes servicesaxis service Client Receivesaxis service Client listens on callback handleaxis service Client handle receives additional informationaxis service We have be testing with BEA 7.0 and it supports this capability, but we have problems invoking normal synchronous service capabilities in WLS. We were wondering if AXIS supports this type of capability as well? Thanks, Jeff Schenk Intelliden Corporation E-mail: [EMAIL PROTECTED] www.intelliden.com
RE: Returning an array of objects
This is exactly what I needs. I have my own object Folder (representing file system folder), and I want to return array of it. I define a bean map as: deployment xmlns=http://xml.apache.org/axis/wsdd/; xmlns:java=http://xml.apache.org/axis/wsdd/providers/java; service name=symcor:RequestorService provider=java:RPC parameter name=className value=com.symcor.od.server.soap.AxisFacade/ parameter name=allowedMethods value=*/ /service beanMapping qname=symcor:folder xmlns:symcor=symcor:RequestorService languageSpecificType=java:com.symcor.od.common.soap.message.Folder/ /deployment but Axis told me that it does not understand array of folder. What should I do? I tried to define a Folder[] type with anotyer beanMapping, it doesnot work. ALso tried typeMapping, did not work out either. Please help, really appreciate. Jian -Original Message- From: Murray Spork [mailto:[EMAIL PROTECTED]] Sent: Friday, September 27, 2002 1:48 AM To: [EMAIL PROTECTED] Subject: Returning an array of objects Hi all, This should be a simple thing but we're having some problems figuriong this out. Could someone give me a pointer to where I can find out how to code a service that returns an array of objects and also the client side code for calling this service. So far my searches have proved fruitless - some snippets of code would be great. Thanks. -- Murray Spork Centre for Information Technology Innovation (CITI) The Redcone Project Queensland University of Technology, Brisbane, Australia Phone: +61-7-3864-9488 Email: [EMAIL PROTECTED] Web: http://redcone.gbst.com/
Re: MessageContext.setMaintainSession
How does the handler detect the incoming request belongs to some existing sessions ?? (is it assessible via MessageContext ?) And then throw a SOAP Fault if not. Rgds, Ricky At 10:29 AM 9/30/2002 +0200, Matthias Brunner wrote: On Monday 30 September 2002 10:23, Jan-Olav Eide wrote: When using HTTP cookies for session management the MS SOAP library 3.0 supports this automatically. As for .net clients I do not know but I think they will do the same. So what is the best way to gracefully detect and reject requests from (MS SOAP or Java) clients that are not session-enabled, given that my service requires that they should be ? IMHO, there is no standard way to detect this. One possibility could be to require them to make two calls at the start of a session. Clients not session-enabled will fail to make the second call within the same session and will start a new session with the second call, which can be detected. Thus a soap fault can be returned. -- Matthias Brunner [EMAIL PROTECTED] PGP FP 7862 32B3 3B75 292A F76F 5042 8587 21AB 5B89 D501 Check out http://blumenstrasse.vol.at/~mb/gpgkey.asc
Re: org.xml.sax.SAXException: No deserializer, problem
Jian Zhang wrote: It seems to me that the Axis picks up the definition of type Folder, but not Folder[]. How should I tell Axis about Folder[]? I would suggest that to simplify your life, during the evaluation, use java2wsdl and wsdl2java to create the files, as it can handle arrays of beans.
RE: org.xml.sax.SAXException: No deserializer, problem
I am quite new to Axis and have to finish something today. I am afraid that I won't that much time to use java2wsd. or wsdl2java. I have all the server code and client code, just stuck with passing array of objects back to the client. I found a number of emails asking about this. This should be very basic, right? Can anybody on the list helps us out? Jian -Original Message- From: James Black [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 12:37 PM To: [EMAIL PROTECTED] Subject: Re: org.xml.sax.SAXException: No deserializer, problem Jian Zhang wrote: It seems to me that the Axis picks up the definition of type Folder, but not Folder[]. How should I tell Axis about Folder[]? I would suggest that to simplify your life, during the evaluation, use java2wsdl and wsdl2java to create the files, as it can handle arrays of beans.
XML ACCEPTOR WEBSERVICE
Title: XML ACCEPTOR WEBSERVICE Hi All! I have to implement a webservice that must accept a XML. Obviously, the first approach is to say that the XML is a simple string. However, I am not sure that's the better option. Have you got some ideas or experiences about how to do it?. If the XML is long enough, there will be problems?. Thank you very much. Carlos Gonzalez-Cadenas e-xtendnow
Call.setUsername/setPassword bug?
I don't know if this is a bug or not, but I've been trying to clear a previously set username/password from a Call object and it seems to make no difference. I'd like to essentially have the 'authentication' process done with and over and have a 'session' established at which point I can quit exchanging the username/password on the wire. However, using the Call.setUsername(null) and Call.setPassword(null) doesn't seem to make a difference. What I found was that the Call.setUsername and Call.setPassword do not pass the values to the respective MessageContext. Consequently, the next invoke I make still has the username/password being exchanged. I can get around this by calling Call.getMessageContext().setUsername(null) and Call.getMessageContext().setPassword(null), but this seems like a kludge to me... Just my two bits... Grant
WEBSERVICES SECURITY
Title: WEBSERVICES SECURITY Hi All! Could you tell me what are the common practices while managing webservices authentication?. Is there something to do with certificates? Thank you very much. Carlos
Validation fails due to NoClassDefFoundError: org/w3c/dom/DOMErrorHandler, eventhough xercesImpl.jar is in webapps/axis-rc1/WEB-INF/lib
I am trying to install and test RC1 of Axis, and am getting a mysterious failure in step 5 Installation testing of the installation instructions. The validation servlet complains about an internal server error with root cause java.lang.NoClassDefFoundError: org/w3c/dom/DOMErrorHandler. But I have xercesImpl.jar (from Xerces 2.0.2) in my webapps/axis-rc1/WEB-INF/lib directory (I chose axis-rc1 as the directory/webapp name for this version of Axis in my local servlet container). I see that org/w3c/dom/DOMErrorHandler.class *is* in xercesImpl.jar. I am using Tomcat 4.0.4, on RedHat Linux 7.1. Below is more detailed evidence. First, a plain text copy of Netscape's display of the validation page output. Then comes a shell typescript showing that xercesImpl.jar is in place and really does contain org.w3c.dom.DOMErrorHandler (the error message about no main comes only after determining that you've got a well-formed class). Thanks for any clues, Mike Plain text scrape of http://wat-eu-2:8080/axis-rc1/happyaxis.jsp: pache Tomcat/4.0.4 - HTTP Status 500 - Internal Server Error type Exception report message Internal Server Error description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:946) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:512) root cause java.lang.NoClassDefFoundError: org/w3c/dom/DOMErrorHandler at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:695) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:133) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1643) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:937) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1372) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1254) at org.apache.xerces.dom.CoreDocumentImpl.(CoreDocumentImpl.java:173) at org.apache.xerces.dom.DocumentImpl.(DocumentImpl.java:173) at org.apache.xerces.dom.DeferredDocumentImpl.(DeferredDocumentImpl.java:194) at org.apache.xerces.dom.DeferredDocumentImpl.(DeferredDocumentImpl.java:189) at
Re: Validation fails due to NoClassDefFoundError: org/w3c/dom/DOMErrorHandler, eventhough xercesImpl.jar is in webapps/axis-rc1/WEB-INF/lib
In case you were wonder, adding xmlParserAPIs.jar to the WEB-INF/lib/ does not solve the problem. I repeated my test with the just-announced Axis RC2. That fails in exactly the same way. :-( Mike
re: missing jar file for rc2?
Hello, Where would I find org.apache.axis.encoding.ser.SimpleNonPrimitiveSerializerFactory?
RE: missing jar file for rc2?
You wouldn't, because that class has been removed from the package, as have all references to it. Are you perhaps using old classes/code? --Glen -Original Message- From: James Black [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 4:03 PM To: [EMAIL PROTECTED] Subject: re: missing jar file for rc2? Hello, Where would I find org.apache.axis.encoding.ser.SimpleNonPrimitiveSerializerFactory?
wsdl2java produces uncompilable code
Hi, I have a given WSDL file and want to generate client stubs and server skeletons for it. The problem is that for whatever reason wsdl2java does not generate code for some types defined in the WSDL. I've browsed the list and tried options without success. Esp. I have specified -all. Please sse attached WSDL files, which is a bit long. Problems are e.g. no class for ObjectName is generated although its type definition is exactly the same as for DisplayName. No code is generated for all request and response objects such as NotificationSet, NotificationAvailability, GetNotifications. The document is not rpc type but document and uses complex types and contents but still that should work and sometimes does, but not always. I'm not getting exceptions during generation. The build.xml snipplet is: taskdef name=wsdl2java classname=org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask classpathref=itm.classpath.tools/ target name=itm_gen_omi description=generate OMI client stubs and server skeleton echo message=Generating OMI client and server classes.../ mkdir dir=${itm.dir.build}/gensrc/ wsdl2java url=${itm.dir.source}/com/bes/itm/comp/omi/OMI.wsdl output=${itm.dir.build}/gensrc serverSide=yes skeletonDeploy=yes typeMappingVersion=1.1 helperGen=no verbose=yes all=yes deployScope=session noWrapped=yes noImports=yes mapping namespace=urn:omi-org:api package=com.bes.itm.comp.omi.api/ /wsdl2java /target target name=itm_java_omi description=compile OMI client stubs and server skeleton echo message=Compiling generated OMI Java.../ javac destdir=${itm.dir.build}/classes classpathref=itm.classpath.external debug=on src path=${itm.dir.build}/gensrc/ /javac /target Thanks for any help, Peter ?xml version=1.0 encoding=UTF-8? !-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Peter (None) -- definitions name=OMI targetNamespace=urn:omi-org:api xmlns=http://schemas.xmlsoap.org/wsdl/; xmlns:omi=urn:omi-org:api xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; documentationWSDL Service Interface for OMI API V1.0. This WSDL document defines the API calls for interacting with the OMI Web Service. /documentation types xsd:schema targetNamespace=urn:omi-org:api xmlns=urn:omi-org:api xmlns:xsd=http://www.w3.org/2001/XMLSchema; elementFormDefault=qualified attributeFormDefault=unqualified xsd:annotation xsd:documentation xml:lang=enOMI Version 1.0 API schema/xsd:documentation /xsd:annotation xsd:attribute name=name type=xsd:string/ xsd:attribute name=lang type=xsd:string/ xsd:attribute name=errorNumber type=xsd:string/ xsd:simpleType name=mode1 xsd:restriction base=xsd:string xsd:enumeration value=inclusive/ xsd:enumeration value=exclusive/ /xsd:restriction /xsd:simpleType xsd:element name=mode1 type=mode1/ xsd:simpleType name=mode2 xsd:restriction base=xsd:string xsd:enumeration value=poll/ xsd:enumeration value=wait/ /xsd:restriction /xsd:simpleType xsd:element name=mode2 type=mode2/ xsd:simpleType name=access1 xsd:restriction base=xsd:string/ /xsd:simpleType xsd:element name=access1 type=access1/ xsd:simpleType name=operationResultType xsd:restriction base=xsd:string/ /xsd:simpleType xsd:element name=operationResultType type=operationResultType/ xsd:simpleType name=description xsd:restriction base=xsd:string/ /xsd:simpleType xsd:element name=description type=description/ xsd:simpleType name=displayName xsd:restriction base=xsd:string/ /xsd:simpleType xsd:element name=displayName type=displayName/ xsd:simpleType name=tag-value xsd:restriction base=xsd:string/ /xsd:simpleType xsd:complexType name=operationParam xsd:simpleContent
Re: Validation fails due to NoClassDefFoundError: org/w3c/dom/DOMErrorHandler, even though xercesImpl.jar is in webapps/axis-rc1/WEB-INF/lib
- Original Message - From: Mike Spreitzer [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 30, 2002 12:43 PM Subject: Re: Validation fails due to NoClassDefFoundError: org/w3c/dom/DOMErrorHandler, even though xercesImpl.jar is in webapps/axis-rc1/WEB-INF/lib In case you were wonder, adding xmlParserAPIs.jar to the WEB-INF/lib/ does not solve the problem. 1. What version of java are you running? 1.4? 2. what happens when you remove xerces from axis/WEB-INF/lib ? 3. what happens when you add xerces and the APIs to CATALINA_HOME/common/lib, which is where other bits of xerces (jaxrpc.jar, saaj.jar) need to go 4. what happens when you upgrade to the most recent version of tomcat, 4.1.something
Announcing Axis 1.0 release candidate 2!
I'm pleased to announce release candidate 2 of Axis release 1. All unit and functional tests pass with this release. The SAAJ and JAX RPC TCK tests pass. All bugs reported as of this morning targetted for the 1.0 release are resolved in this drop. Pending feedback from people like yourselves, this might very well be it! What is it? http://xml.apache.org/axis/ Where to find it: http://xml.apache.org/axis/dist/1_0rc2/ What's the plan http://marc.theaimsgroup.com/?l=axis-devm=103290134804105w=2 Where to send comments: mailto:[EMAIL PROTECTED] Thanks!
RE: MessageContext.setMaintainSession
Title: Message Grant, As the name implies "scope"="session" is the way to enable session tracking in Axis services. It is really up to the client to maintain the session by caching the HTTP cookies returned by the server. Most clients would either do this by default or require a flag to enable it like Axis clients do. As far as HTTP sessions go this is all you need to support them. Alex -Original Message-From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]]Sent: Friday, September 27, 2002 3:48 PMTo: [EMAIL PROTECTED]Subject: Re: MessageContext.setMaintainSession Alex, Thank you for your explanation. It has helped clear up some misconceptions on my part. I gather from your comments and the doc that I cannot use "scope"="Application" if I want to maintain session oriented information for a SOAP client? Is this the extent of the session management in Axis? Thanks, Grant - Original Message - From: Volanis, Alexander To: '[EMAIL PROTECTED]' Sent: Friday, September 27, 2002 8:48 AM Subject: RE: MessageContext.setMaintainSession The correct way to enable session management is in your deploy.wsdd file. Add parameter name="scope" value="Session"/ to your service deployment. To get the desired effect your clients have to enable session management as well. Use ((org.apache.axis.client.Stub) ws).setMaintainSession(true) where "ws" is your service client instance returned by the ServiceLocator class implementation in Axis client generated code terms. Alex -Original Message-From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]]Sent: Thursday, September 26, 2002 3:12 PMTo: [EMAIL PROTECTED]Subject: MessageContext.setMaintainSession I'm trying to understand the MessageContext session management and I'm confused by what its supposed to do. On the first request from a client I see that the session management is not turned on so I turn it on. On the second request the session management is still not turned on. Is there some other requirement I don't know about? Thanks, Grant
RE: Dynamic publishing
Grant, It's obviously your solution is a feasible work-around. However, as you stated, it's really a big mess. Now I consider switching to GLUE which supports dynamic publishing from the beginning. If you're interested, take a look at http://www.themindelectric.com However, I really do hope that there is a clean solution using Axis. Probably in near future. Cheers, Tuan -Original Message- From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]] Sent: 2002/09/30 (月) 22:09 To: [EMAIL PROTECTED] Cc: Subject: Re: Dynamic publishing Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 26, 2002 11:13 PM Subject: Dynamic publishing Hi there, Does Axis support dynamic publishing? My intention: +I have a class called BankAccount with 3 methods: +void deposit(int amount) +void withdraw(int amount) +int checkBalance() +I have a class Bank, which have 1 method: String getAccount(String accountNo). +I statically publish it as Web service, users will call getAccount method to get the URL to BankAccount web service, for example: if user called getAccount(12345), URL returned is: http://somehost/axis/services/account12345 +users then interact with this BankAccount webservice to deposit, withdraw, checkBalance. +In order to achieve this, it's required to dynamically publish each BankAccount instance as a web service. Is this possible with Axis? I would really appreciate any pointers. Cheers, Tuan winmail.dat
Re: Dynamic publishing
I agree that dynamic endpoints are handy; .net remoting does it BTW, though that doesnt help. why not look at what the Axis engine is up to and maybe call it directly? Adding an API to do everything seamlessly would be nice. -steve - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 30, 2002 4:59 PM Subject: RE: Dynamic publishing Grant, It's obviously your solution is a feasible work-around. However, as you stated, it's really a big mess. Now I consider switching to GLUE which supports dynamic publishing from the beginning. If you're interested, take a look at http://www.themindelectric.com However, I really do hope that there is a clean solution using Axis. Probably in near future. Cheers, Tuan -Original Message- From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]] Sent: 2002/09/30 (月) 22:09 To: [EMAIL PROTECTED] Cc: Subject: Re: Dynamic publishing Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 26, 2002 11:13 PM Subject: Dynamic publishing Hi there, Does Axis support dynamic publishing? My intention: +I have a class called BankAccount with 3 methods: +void deposit(int amount) +void withdraw(int amount) +int checkBalance() +I have a class Bank, which have 1 method: String getAccount(String accountNo). +I statically publish it as Web service, users will call getAccount method to get the URL to BankAccount web service, for example: if user called getAccount(12345), URL returned is: http://somehost/axis/services/account12345 +users then interact with this BankAccount webservice to deposit, withdraw, checkBalance. +In order to achieve this, it's required to dynamically publish each BankAccount instance as a web service. Is this possible with Axis? I would really appreciate any pointers. Cheers, Tuan
Adding SOAP header in Axis client
Title: Adding SOAP header in Axis client I am trying to transmit a SOAP header from my Axis client, but it is not working. Below is the manually modified stub code that tries to add the header to the SOAP message: Document doc = XMLUtils.newDocument(); Element root = doc.createElementNS(HEADER_NAMESPACE, HEADER_LOCAL_NAME); Element subElem = doc.createElementNS(HEADER_NAMESPACE, LOCAL_NAME); Text text = doc.createTextNode(hello); subElem.appendChild(text); root.appendChild(subElem); SOAPHeaderElement headerElement = new SOAPHeaderElement(root); _call.addHeader(headerElement); ... _call.invoke(); Tracing through the code for Call.invoke(), the header transmission portion is completely skipped. See below: public void invoke() throws AxisFault { ... // Determine client target service if (myService != null) { // If we have a SOAPService kicking around, use that directly msgContext.setService(myService); } else { if (portName != null) { --- This if block is executed because portname is set // No explicit service. If we have a target service name, // try that. msgContext.setTargetService(portName.getLocalPart()); } else { --- The else block is skipped so headers are not added // No direct config, so try the namespace of the first body. reqMsg = msgContext.getRequestMessage(); reqEnv = reqMsg.getSOAPEnvelope(); // If we have headers to insert, do so now. for (int i = 0 ; myHeaders != null i myHeaders.size() ; i++ ) reqEnv.addHeader((SOAPHeaderElement)myHeaders.get(i)); ... } Please let me know what is the recommended way to add a SOAP header in client code. Naresh Bhatia
RE: Adding SOAP header in Axis client
Title: RE: Adding SOAP header in Axis client I am trying to transmit a SOAP header from my Axis client, but it is not working. Below is the manually modified stub code that tries to add the header to the SOAP message: Document doc = XMLUtils.newDocument(); Element root = doc.createElementNS(HEADER_NAMESPACE, HEADER_LOCAL_NAME); Element subElem = doc.createElementNS(HEADER_NAMESPACE, LOCAL_NAME); Text text = doc.createTextNode(hello); subElem.appendChild(text); root.appendChild(subElem); SOAPHeaderElement headerElement = new SOAPHeaderElement(root); _call.addHeader(headerElement); ... _call.invoke(); Tracing through the code for Call.invoke(), the header transmission portion is completely skipped. See below: public void invoke() throws AxisFault { ... // Determine client target service if (myService != null) { // If we have a SOAPService kicking around, use that directly msgContext.setService(myService); } else { if (portName != null) { --- This if block is executed because portname is set // No explicit service. If we have a target service name, // try that. msgContext.setTargetService(portName.getLocalPart()); } else { --- The else block is skipped so headers are not added // No direct config, so try the namespace of the first body. reqMsg = msgContext.getRequestMessage(); reqEnv = reqMsg.getSOAPEnvelope(); // If we have headers to insert, do so now. for (int i = 0 ; myHeaders != null i myHeaders.size() ; i++ ) reqEnv.addHeader((SOAPHeaderElement)myHeaders.get(i)); ... } Please let me know what is the recommended way to add a SOAP header in client code. Naresh Bhatia
RE: org.xml.sax.SAXException: No deserializer, problem
Title: RE: org.xml.sax.SAXException: No deserializer, problem Hi, Jian How about a work around, define a class which holds your array, and make the new class a bean. Something like this class Folders { Folder[] folders; getter/setter functions } In deployment file, also define beanMapping for Folders. George -Original Message- From: Jian Zhang [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 9:42 AM To: '[EMAIL PROTECTED]' Subject: RE: org.xml.sax.SAXException: No deserializer, problem I am quite new to Axis and have to finish something today. I am afraid that I won't that much time to use java2wsd. or wsdl2java. I have all the server code and client code, just stuck with passing array of objects back to the client. I found a number of emails asking about this. This should be very basic, right? Can anybody on the list helps us out? Jian -Original Message- From: James Black [mailto:[EMAIL PROTECTED]] Sent: Monday, September 30, 2002 12:37 PM To: [EMAIL PROTECTED] Subject: Re: org.xml.sax.SAXException: No deserializer, problem Jian Zhang wrote: It seems to me that the Axis picks up the definition of type Folder, but not Folder[]. How should I tell Axis about Folder[]? I would suggest that to simplify your life, during the evaluation, use java2wsdl and wsdl2java to create the files, as it can handle arrays of beans.
how to registering type mapping..
Hi all, i see that we can register custom serializer/deserializer mappings on client side using the call object.. and on server side this can be done through wsdd file. I am wondering if the type registering on client side can also be done through wsdd file ..something like client-deploy.wsdd which actually registers all the mappings necessary for the client to understand the objects sent by server. Thanks in advance Sreekant = * Those who compete against themselves cannot be overtaken * __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com
RE: Dynamic publishing
Sorry - missed that, but why would you really want to deploy one service per account? That's going to be a scalability nightmare. Why not just have the account number in a soap header, as a param on an rpc call or even in the URL (ie. http://localhost:8080/axis/services/BankServices?account=12345 - to the client the URL is just a string so adding on ?account=12345 should be no big deal). -Dug "Tuan Le Viet" [EMAIL PROTECTED] on 09/30/2002 08:17:30 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing As I understand, jws is just a java source file. Axis will publish this java class as web service automatically. However, this wouldn't solve my problem as my intention is to create a web service for each instance of the same class. Cheers, Tuan -Original Message- From: Doug Davis [mailto:[EMAIL PROTECTED]] Sent: 2002/10/01 ($B2P(B) 7:06 To: [EMAIL PROTECTED] Cc: Subject: RE: Dynamic publishing What about deploying (dropping) a jws file - Aixs processes that dynamically. -Dug "Tuan Le Viet" [EMAIL PROTECTED] on 09/30/2002 07:59:17 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing Grant, It's obviously your solution is a feasible work-around. However, as you stated, it's really a big mess. Now I consider switching to GLUE which supports dynamic publishing from the beginning. If you're interested, take a look at http://www.themindelectric.com However, I really do hope that there is a clean solution using Axis. Probably in near future. Cheers, Tuan -Original Message- From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]] Sent: 2002/09/30 ($B7n(B) 22:09 To: [EMAIL PROTECTED] Cc: Subject: Re: Dynamic publishing Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: "Tuan Le Viet" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 26, 2002 11:13 PM Subject: Dynamic publishing Hi there, Does Axis support "dynamic publishing"? My intention: +I have a class called BankAccount with 3 methods: +void deposit(int amount) +void withdraw(int amount) +int checkBalance() +I have a class Bank, which have 1 method: String getAccount(String accountNo). +I statically publish it as Web service, users will call getAccount method to get the URL to BankAccount web service, for example: if user called getAccount("12345"), URL returned is: http://somehost/axis/services/account12345 +users then interact with this BankAccount webservice to deposit, withdraw, checkBalance. +In order to achieve this, it's required to dynamically publish each BankAccount instance as a web service. Is this possible with Axis? I would really appreciate any pointers. Cheers, Tuan
NumberFormatException
I am currently trying to build a server specifically for Axis, with a few extra features, in order to provide something of a complete Java web services solution (see www.lombok.org.uk for details). I am, however, stuck in that every time I try to access a service, including the AdminService at deployment time, I get a NumberFormatException. The server itself throws a NullPointer, but the client class throws a NumberFormatException. The stack trace says that this NumberFormatException originates from HTTPSender's readFromSocket() method. I've taken a look at the source for this class and, must admit, I can't see how the string iso-8859-1 could be broken down and converted to an int from this code - I'm no expert in the breaking down of Strings, but it doesn't look right to me. I must, however, be missing something - since I'm sure I've had it working in Tomcat, so it must be a problem with my server. I'm afraid that I'm stumped. I am currently using axis beta3, as attempts to incorporate later releases have proved problematic - I've tried, hoping that it will solve this problem - but it causes others. If anyone feels that they may be able to shed any light on this, or simply point in the right direction, I would be grateful. regards Paul Hunnisett www.lombok.org.uk
RE: Dynamic publishing
Dug, My idea was to have a more OO approach. I'll have a manager which manages lifetime of Account service. Each service will be published when necessary and unpublished when it's no longer needed. This would not be a nightmore for scalability right? Cheers, Tuan -Original Message- From: Doug Davis [mailto:[EMAIL PROTECTED]] Sent: 2002/10/01 (火) 8:16 To: [EMAIL PROTECTED] Cc: Subject: RE: Dynamic publishing Sorry - missed that, but why would you really want to deploy one service per account? That's going to be a scalability nightmare. Why not just have the account number in a soap header, as a param on an rpc call or even in the URL (ie. http://localhost:8080/axis/services/BankServices?account=12345 - to the client the URL is just a string so adding on ?account=12345 should be no big deal). -Dug Tuan Le Viet [EMAIL PROTECTED] on 09/30/2002 08:17:30 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing As I understand, jws is just a java source file. Axis will publish this java class as web service automatically. However, this wouldn't solve my problem as my intention is to create a web service for each instance of the same class. Cheers, Tuan -Original Message- From: Doug Davis [mailto:[EMAIL PROTECTED]] Sent: 2002/10/01 (火) 7:06 To: [EMAIL PROTECTED] Cc: Subject: RE: Dynamic publishing What about deploying (dropping) a jws file - Aixs processes that dynamically. -Dug Tuan Le Viet [EMAIL PROTECTED] on 09/30/2002 07:59:17 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing Grant, It's obviously your solution is a feasible work-around. However, as you stated, it's really a big mess. Now I consider switching to GLUE which supports dynamic publishing from the beginning. If you're interested, take a look at http://www.themindelectric.com However, I really do hope that there is a clean solution using Axis. Probably in near future. Cheers, Tuan -Original Message- From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]] Sent: 2002/09/30 (月) 22:09 To: [EMAIL PROTECTED] Cc: Subject: Re: Dynamic publishing Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED]
RE: Soap and JRun version 4.0
Hi, I am sorry...I could not find the .war for AXIS and not SOAP. Thanks, Shankar Shanmugam -Original Message- From: Shankar S [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 01, 2002 10:53 AM To: '[EMAIL PROTECTED]' Subject: RE: Soap and JRun version 4.0 Hi, Please let me know the location of the war file. I could not find it. Thanks, Shankar Shanmugam -Original Message- From: Jonathan Roberts [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 01, 2002 4:06 AM To: [EMAIL PROTECTED] Subject: Re: Soap and JRun version 4.0 Hi Scott, Apologies already found the war - thanks again. Jonathan The more J2EE-ish it is, the more it should resemble the Tomcat 4 instructions (cf. http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-soap/java/docs/install/ tomcat.html?rev=1.13). Basically, you deploy Apache SOAP as a webapp by copying soap.war into the magic directory. Scott Nichol - Original Message - From: Jonathan Roberts [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 30, 2002 6:07 PM Subject: Soap and JRun version 4.0 Has anyone had any experience with using SOAP and Jrun 4.0, or4 know any articles. Since Jrun has become more J2EE complicant it has diverged away from the Tomcat scenario. Jonathan _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] _ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Dynamic publishing
SOAP is more an RPC mechanism than a remote Object mechanism. I doubt it would be scalable. From the lesson we learnt in EJB, if we shouldn't expose EntityBean, then expose a web service per object instance is even much worse. Rgds, Ricky At 10:48 AM 10/1/2002 +0700, Tuan Le Viet wrote: Dug, My idea was to have a more OO approach. I'll have a manager which manages lifetime of Account service. Each service will be published when necessary and unpublished when it's no longer needed. This would not be a nightmore for scalability right? Cheers, Tuan -Original Message- From: Doug Davis [mailto:[EMAIL PROTECTED]] Sent: 2002/10/01 (火) 8:16 To: [EMAIL PROTECTED] Cc: Subject: RE: Dynamic publishing Sorry - missed that, but why would you really want to deploy one service per account? That's going to be a scalability nightmare. Why not just have the account number in a soap header, as a param on an rpc call or even in the URL (ie. http://localhost:8080/axis/services/BankServices?account=12345 - to the client the URL is just a string so adding on ?account=12345 should be no big deal). -Dug Tuan Le Viet [EMAIL PROTECTED] on 09/30/2002 08:17:30 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing As I understand, jws is just a java source file. Axis will publish this java class as web service automatically. However, this wouldn't solve my problem as my intention is to create a web service for each instance of the same class. Cheers, Tuan -Original Message- From: Doug Davis [mailto:[EMAIL PROTECTED]] Sent: 2002/10/01 (火) 7:06 To: [EMAIL PROTECTED] Cc: Subject: RE: Dynamic publishing What about deploying (dropping) a jws file - Aixs processes that dynamically. -Dug Tuan Le Viet [EMAIL PROTECTED] on 09/30/2002 07:59:17 PM Please respond to [EMAIL PROTECTED] To:[EMAIL PROTECTED] cc: Subject:RE: Dynamic publishing Grant, It's obviously your solution is a feasible work-around. However, as you stated, it's really a big mess. Now I consider switching to GLUE which supports dynamic publishing from the beginning. If you're interested, take a look at http://www.themindelectric.com However, I really do hope that there is a clean solution using Axis. Probably in near future. Cheers, Tuan -Original Message- From: Grant Echols (JanusLogix) [mailto:[EMAIL PROTECTED]] Sent: 2002/09/30 (月) 22:09 To: [EMAIL PROTECTED] Cc: Subject: Re: Dynamic publishing Tuan, I have a similar need but for a totally different reason. We have a services framework and want to dynamically publish public 'service entry points' at runtime through Axis SOAP. We only have a Java class file and an associated interface as parameters so we have to make up the rest of the difference. Right now we're spawning Java2WSDL and WSDL2Java back to back so I can get a .WSDD file and then call the AdminClient to deploy the deploy.wsdd file. Its a mess and I wish there was a better way to do this. At this point we were too unsure of the deploy.wsdd file format to generate it ourselves. Perhaps even having this documented, or having a class that we could instantiate and call instead of actually spawning the wsdl... utilities would be better. But for now, its working...:-( I'm hoping someone has a better way and will respond, but if you're still stuck you could possibly consider this route as an interim solution. Grant - Original Message - From: Tuan Le Viet [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 26, 2002