RE: Build problems using RC1
This classes are now in saaj.jar. So include this file in your classpath. Regards. -Original Message- From: Navneet Raja [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 17, 2002 4:39 AM To: '[EMAIL PROTECTED]' Subject: Build problems using RC1 Hi All, I downloaded the RC1 package today. When I try to compile a simple piece of code like org.apache.axis.Message m = new org.apache.axis.Message(test); The compilation error that I get is xxx.java:36: cannot access javax.xml.soap.SOAPMessage file javax\xml\soap\SOAPMessage.class not found Message m = new Message(test); When I look at the jaxrpc.jar that is bundled with the RC1 distribution , it contains a jaxrpc.jar , but this jaxrpc.jar does *not* contain javax.xml.soap.SOAPMessage class. Has anybody faced this problem ? I think that somehow the ant task which is packing up the jaxrpc.jar is not copying all the built classes. Please let me know if this is a known problem and what are the accepted workarounds ? Should we be getting the jaxrpc.jar from some place else ? Thanks, --navneet
Re: Logging
Moi does anyone have any idea about the problem below ? Hello, I don't get my logging to work, maybe someone could help ? I have written an implementation of org.apache.commons.logging.Log . But I can't influence the environment or java startup command. So I need to set the log propert programmatically. So I put something like static { LogFactory.getFactory().setAttribute(org.apache.commons.logging.Log, com.firsthop.mmgr.manager.service.JakartaLogBridge); } into the class that first executes, but nothing changes. I have tried also the null logger. I have also tried to set the system property. But always I get the stack trace to stderrr (AxisFault) . What to do ? Thanks Torsten
RPC problems?
BDY.RTF Description: RTF file
Re: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes
Title: RE: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes Thanks, Mark,for your answer, but the truth is that it doesn't help me much in solving my problem. Could you be more specific, please, about how I can resolve this problem, if you know it? Thanks again. - Original Message - From: Volkmann, Mark To: '[EMAIL PROTECTED]' Cc: Pop Lucian Marius Sent: Monday, September 16, 2002 7:42 PM Subject: RE: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes -Original Message- From: Sorin Pop [mailto:[EMAIL PROTECTED]] Sent: Monday, September 16, 2002 12:33 PM To: [EMAIL PROTECTED] Cc: Pop Lucian Marius Subject: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes I don't know where that [L in front of the class name comes from That's part of the type signature of a Java class used in bytecode. For example, the type signature of a double is "D" and the type signature of the String class is "Ljava/lang/String;".***WARNING: All e-mail sent to and from this address will be received orotherwise recorded by the A.G. Edwards corporate e-mail system and issubject to archival, monitoring or review by, and/or disclosure to,someone other than the recipient.
Easy question:returned string too short
Hello, I am experiencing problems with a returned string. It si returned, but the string does not hold all of the desired information. Is this because of an axis engine limitation or is it my app (I checked but human are prone to errors...) Many Thanks Jonathan
Custom http headers ...
Currently using RC1 for client invocations Has anyone have any ideas why the org.apache.axis.client.Call resets the message context on invoke(). public void invoke() throws AxisFault { if (log.isDebugEnabled()) { log.debug(Enter: Call::invoke()); } Message reqMsg = null ; SOAPEnvelope reqEnv = null ; msgContext.reset(); -- Offending code call. This effectively clears the context of anything set via a client call like ... Hashtable moreHeaders = new Hashtable(); moreHeaders.put(ABC, 123); call.getMessageContext().setProperty(HTTPConstants.REQUEST_HEADERS, moreHeaders); env = call.invoke(env); By the time the context is used by the transport component (org.apache.axis.transport.http.HTTPSender), there are no longer any custom header entries. Bug or not ? Is there any other way to effect a custom http header entry?
RE: Chicken-Egg problem with Java2WSDL/WSDL2Java
Title: RE: Chicken-Egg problem with Java2WSDL/WSDL2Java Here's how I get around the problem. I use Ant to run WSDL2Java. The target that does that tells WSDL2Java to send the files it generates to a directory called gen. After that, Ant copies the files I want into my src directory. -Original Message- From: James Kojo [mailto:[EMAIL PROTECTED]] Sent: Monday, September 16, 2002 6:47 PM To: [EMAIL PROTECTED] Subject: Re: Chicken-Egg problem with Java2WSDL/WSDL2Java Has this problem been solved? Is there a way to generate the server side code without over-writing a pre-existing implementation? THanks, James Rathert Jonas (Platinion) wrote: Hi, a few days ago I asked for best practices when developing WebServices using an existing RMI interface and implementation. I understood that this is not completely supported by Axis the way I want it (thanks Martin for the pointer to the WSDL2Java Design Issue thread on this list), and now I try a slightly different approach. However, again I ran into a situation where I need some assistance. - I have an interface where one method returns a Bean type which is in another package: package plt.foo; import plt.baz.MyBean; public interface Bar { public MyBean getBean(); } - I also have the baz.MyBean class implementation (of course) and an implementation of the interface: package plt.foo; import plt.baz.MyBean; public class BarImpl implements Bar { public MyBean getBean() { MyBean b = new MyBean(); // do something with b return b; } } I want to make this method available as a WebService. I compile everyting and call Java2WSDL the following way with the following arguments: -obar.wsdl -nurn:Bar -lhttp://localhost:8080/axis/service/Bar plt.foo.Bar The WSDL-file looks good, it contains the compleType as I expected. Now I call WSDL2Java with the -S true option using the generated WSDL file to get the server skeletons and deploy.wsdd etc. Unfortunately, this process will overwrite the source of plt.baz.MyBean, since the WSDL contains contains a complexType MyBean in namespace http://baz.plt. I do not want this and worked around this using the -N option - here are the complete WSDL2Java arguments: -Nurn:Bar=plt.rmi -Nhttp://baz.plt=plt.rmi -S true bar.wsdl (I want everything that is created to be placed in the plt.rmi package, especially the MyBean implementation to be used in the client). Now everything looks good, I got a new MyBean class in package plt.rmi which I should use in the client and I keep my old plt.baz.MyBean which is used in the server-side implementation. Unfortunately the server skeleton and the deploy.wsdd now refer to plt.rmi.MyBean - so I can not use my existing implementation which uses plt.baz.MyBean. I can not make my own implementation use the plt.rmi.MyBean, sine this does not even exist at the very beginning. This seems a little bit like a chicken-egg-problem to me: On the one hand, I need an implementation of the MyBean _before_ creating the WSDL, on the other hand, my actual imlpementation should then use an implementation of plt.rmi.MyBean, which I do not have in the beginning. What I actually want is to call WSDL2Java twice: - first in client mode only which generates plt.rmi.MyBean, the client stubs etc. - second in server mode only which generates the server side skeletons and (un)deploy.wsdd _only_. I would _not_ map the NS http://baz.plt to package plt.rmi here, instead I would use existing classes where possible. Unfortunately, this does not seem to work with the curren WSDL2Java. Right now I found some other solutions to this problem, though the only one where I do not have to change some of the generated files is to to accept that my Bean source gets overwritten (which I do not really like because my original Bean did contain a second constructor for convenience) every time I recreate the WSDL and/or client stubs. Is there any other way around this? Or is it more or less a problem of my (unrealistic?) requirements? Sorry for bothering again. If I had more experience with all this, I'd like to help with improving the docs at least to show use cases or correct usage for all this. Maybe I can provide some if I understand what I am actually doing... ;-) Thanks in advance! Regards Jonas -- Jonas Rathert PLATINION GmbH A Company of the Boston Consulting Group Im Mediapark 5, 50670 Cologne/Germany Tel. +49 221. 58 95 83 04 Fax +49 221. 589 20 51 mailto:[EMAIL PROTECTED] http://www.platinion.de/ *** WARNING: All e-mail sent to and from this address will be received or otherwise recorded by the A.G. Edwards corporate e-mail system and is subject to archival, monitoring or review by,
RE: server-config.wsdd
Title: RE: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes server-config.wsdd contains descriptions of all the deployments you've made using AdminClient. When you run AdminClient with the list option it just dumps this file to show what is currently deployed. When you restart the server it uses this file to redeploy everything that was previously deployed. -Original Message-From: Sean [mailto:[EMAIL PROTECTED]]Sent: Monday, September 16, 2002 4:47 PMTo: [EMAIL PROTECTED]Subject: server-config.wsdd What is server-config.wsdd exactly? Are there any good docs that cover the use of org.apache.axis.handlers.SimpleAuthenticationHandlerorg.apache.axis.handlers.SimpleAuthorizationHandler and the users.lst and perms.list files that they utilize? - Original Message - From: Volkmann, Mark To: '[EMAIL PROTECTED]' Cc: Pop Lucian Marius Sent: Monday, September 16, 2002 1:42 PM Subject: RE: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes -Original Message- From: Sorin Pop [mailto:[EMAIL PROTECTED]] Sent: Monday, September 16, 2002 12:33 PM To: [EMAIL PROTECTED] Cc: Pop Lucian Marius Subject: (de)serialization of an object which contains an array of another custom object without building custom (de)serializer classes I don't know where that [L in front of the class name comes from That's part of the type signature of a Java class used in bytecode. For example, the type signature of a double is "D" and the type signature of the String class is "Ljava/lang/String;".***WARNING: All e-mail sent to and from this address will be received orotherwise recorded by the A.G. Edwards corporate e-mail system and issubject to archival, monitoring or review by, and/or disclosure to,someone other than the recipient.
Tomcat Axis NullPointer
Hi there, i generate (i hope successfully ;-) a web-service with Java2WSDL. But after i deployed the classes and wsdl file within Tomcat i never manage to run it. I the Tomcat Console i get the following message - The class org.apache.axis.MessageContext does not contain a default constructo r, which is a requirement for a bean class. The class cannot be converted into an xml schema type. An xml schema anyType will be used to define this class in the wsdl file. - The class org.w3c.dom.Document does not contain a default constructor, which i s a requirement for a bean class. The class cannot be converted into an xml sch ema type. An xml schema anyType will be used to define this class in the wsdl f ile. - The class org.apache.axis.AxisEngine does not contain a default constructor, w hich is a requirement for a bean class. The class cannot be converted into an x ml schema type. An xml schema anyType will be used to define this class in the wsdl file. - The class java.rmi.RemoteException is defined in a java or javax package and c annot be converted into an xml schema type. An xml schema anyType will be used to define this class in the wsdl file. When i try to use the service i get a NullPointerException, which i couldn't trace down to anyone. Simply java.lang.NullPointer (in the Tomcat Window) Versions: Tomcat 4.1.9 Axis Beta 3 JAVA 1.4.0_01 Anyone with a good idea? Thanks in advance Joerg
Can't generate WSDL
I have been using Axis RC1 trying to use WSDL4J to generate WSDL for me using the http://localhost/axis/Service?WSDL method. But whenever I hit the URL, I get a Can't generate WSDL message in HTML. Am I missing something simple and essential, or are other experiencing this problem as well? -- :/ byrne Program Manager Grand Central Communications [EMAIL PROTECTED]
Re: Can't generate WSDL
Byrne Reese wrote: I have been using Axis RC1 trying to use WSDL4J to generate WSDL for me using the http://localhost/axis/Service?WSDL method. But whenever I hit the URL, I get a Can't generate WSDL message in HTML. Am I missing something simple and essential, or are other experiencing this problem as well? Try http://localhost/axis/services/Service?WSDL
RE: Can't generate WSDL
Yes of course - I am sorry, I did - I mistyped the URL. The log files do not show any failures or anything, and I have set everything to log a DEBUG level. :/ -Original Message- From: James Black [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 17, 2002 8:04 AM To: [EMAIL PROTECTED] Subject: Re: Can't generate WSDL Byrne Reese wrote: I have been using Axis RC1 trying to use WSDL4J to generate WSDL for me using the http://localhost/axis/Service?WSDL method. But whenever I hit the URL, I get a Can't generate WSDL message in HTML. Am I missing something simple and essential, or are other experiencing this problem as well? Try http://localhost/axis/services/Service?WSDL
Re: Can't generate WSDL
Byrne Reese wrote: Yes of course - I am sorry, I did - I mistyped the URL. The log files do not show any failures or anything, and I have set everything to log a DEBUG level. :/ If you have Tomcat running (ensure that), then there should be some response. If you don't have the server stubs compiled then it will throw an error, btw, so ensure that you have that done.
Re: Tomcat Axis NullPointer
Check the log in tomcat_dir/logs. it should give you a stack trace that can narrow it down. -prabhakar --- Original Message i generate (i hope successfully ;-) a web-service with Java2WSDL. But after i deployed the classes and wsdl file within Tomcat i never manage to run it. I the Tomcat Console i get the following message gt; - The class org.apache.axis.MessageContext does not contain a default constructo gt; r, which is a requirement for a bean class. The class cannot be converted into gt; an xml schema type. An xml schema anyType will be used to define this class in gt; the wsdl file. gt; - The class org.w3c.dom.Document does not contain a default constructor, which i gt; s a requirement for a bean class. The class cannot be converted into an xml sch gt; ema type. An xml schema anyType will be used to define this class in the wsdl f gt; ile. gt; - The class org.apache.axis.AxisEngine does not contain a default constructor, w gt; hich is a requirement for a bean class. The class cannot be converted into an x gt; ml schema type. An xml schema anyType will be used to define this class in the gt; wsdl file. gt; - The class java.rmi.RemoteException is defined in a java or javax package and c gt; annot be converted into an xml schema type. An xml schema anyType will be used gt; to define this class in the wsdl file. When i try to use the service i get a NullPointerException, which i couldn't trace down to anyone. Simply java.lang.NullPointer (in the Tomcat Window)
Questions about SOAP Attachments
Hi Axis Users, I am working on the design of a SOAP based web service in which the service will need to send large amounts of text data as part of the response. From what I have read so far, SOAP attachments is one way to accomplish this. gzip can be used to to compress the attachment before sending it over the wire. But I still have concern of transferring a huge attachment, and would appreciate if people can answer the following questions: - Will this work or is there a better way to accomplish this? - Is there any limitation in SOAP or Axis for attachment size? - Also does SOAP or Axis provide support for chunking of attachment data? Or if one uses the HTTP transport, it's automatically done at that level? thx, Vikas. __ Do you Yahoo!? Yahoo! News - Today's headlines http://news.yahoo.com
Questions about Axis JDK compatibiltiy
Hi, I have an existing client using jdk 1.1 is it possible for this application to talk to Axis ? Is there any limitation on JDK versions ? Thanks, VP. ** This message, including any attachments, contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, please contact sender immediately by reply e-mail and destroy all copies. You are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. TIAA-CREF **
RE: Axis generated SOAP question.
Set the sendMultiRefs to false in the server-config.wsdd file. You will get inline data. globalConfiguration parameter name=sendMultiRefs value=false/ /globalConfiguration -Original Message- From: Harish Prabandham [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 17, 2002 12:57 PM To: [EMAIL PROTECTED] Subject: Axis generated SOAP question. Hi, I noticed that the SOAP generated by Axis clients is different from what I expected. Whenever, the request/reply messages contain a complexType as a parameter then the generated SOAP seems to use multiRef and the parameters are seems to be refer to the multiRef element using href. For example: look at the soap protocol exchanged in the samples/addr example is shown below. Is this expected behavior? Is there a document/email-thread/spec. that explains why multiRefs elements are used instead of simply inlining the parameter elements? Thx. Harish POST /axis/services/AddressBook HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/beta3 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: Content-Length: 1627 ?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:addEntry soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2 name xsi:type=ns2:string xmlns:ns2=http://www.w3.org/1999/XMLSchema;Purdue Boilermaker/name address href=#id0/ /ns1:addEntry multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns3:address xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns3=urn:AddressFetcher2 streetNum xsi:type=xsd:int1/streetNum streetName xsi:type=xsd:stringUniversity Drive/streetName city xsi:type=xsd:stringWest Lafayette/city state href=#id1/ zip xsi:type=xsd:int47907/zip phoneNumber href=#id2/ /multiRef multiRef id=id1 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns4:stateType xmlns:ns4=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;IN/multiRef multiRef id=id2 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns5:phone xmlns:ns5=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; areaCode xsi:type=xsd:int765/areaCode exchange xsi:type=xsd:string494/exchange number xsi:type=xsd:string4900/number /multiRef /soapenv:Body /soapenv:Envelope HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Set-Cookie: 1 Set-Cookie2: 1 ?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:addEntryResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2/ /soapenv:Body /soapenv:Envelope
RE: Axis generated SOAP question.
Thanks for the response. Is there a way to prevent client from sending multiRefs? Harish Ramaswamy, Muthu [EMAIL PROTECTED] wrote: Set the sendMultiRefs to false in the server-config.wsdd file. You will get inline data. globalConfiguration parameter name=sendMultiRefs value=false/ /globalConfiguration -Original Message- From: Harish Prabandham [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 17, 2002 12:57 PM To: [EMAIL PROTECTED] Subject: Axis generated SOAP question. Hi, I noticed that the SOAP generated by Axis clients is different from what I expected. Whenever, the request/reply messages contain a complexType as a parameter then the generated SOAP seems to use multiRef and the parameters are seems to be refer to the multiRef element using href. For example: look at the soap protocol exchanged in the samples/addr example is shown below. Is this expected behavior? Is there a document/email-thread/spec. that explains why multiRefs elements are used instead of simply inlining the parameter elements? Thx. Harish POST /axis/services/AddressBook HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/beta3 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: Content-Length: 1627 ?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:addEntry soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2 name xsi:type=ns2:string xmlns:ns2=http://www.w3.org/1999/XMLSchema;Purdue Boilermaker/name address href=#id0/ /ns1:addEntry multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns3:address xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns3=urn:AddressFetcher2 streetNum xsi:type=xsd:int1/streetNum streetName xsi:type=xsd:stringUniversity Drive/streetName city xsi:type=xsd:stringWest Lafayette/city state href=#id1/ zip xsi:type=xsd:int47907/zip phoneNumber href=#id2/ /multiRef multiRef id=id1 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns4:stateType xmlns:ns4=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;IN/multiRef multiRef id=id2 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns5:phone xmlns:ns5=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; areaCode xsi:type=xsd:int765/areaCode exchange xsi:type=xsd:string494/exchange number xsi:type=xsd:string4900/number /multiRef /soapenv:Body /soapenv:Envelope HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Set-Cookie: 1 Set-Cookie2: 1 ?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:addEntryResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2/ /soapenv:Body /soapenv:Envelope
Re: Axis generated SOAP question.
Use document/literal encoding At 12:56 PM 9/17/2002 -0700, you wrote: Hi, I noticed that the SOAP generated by Axis clients is different from what I expected. Whenever, the request/reply messages contain a complexType as a parameter then the generated SOAP seems to use multiRef and the parameters are seems to be refer to the multiRef element using href. For example: look at the soap protocol exchanged in the samples/addr example is shown below. Is this expected behavior? Is there a document/email-thread/spec. that explains why multiRefs elements are used instead of simply inlining the parameter elements? Thx. Harish POST /axis/services/AddressBook HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/beta3 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: Content-Length: 1627 ?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:addEntry soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2 name xsi:type=ns2:string xmlns:ns2=http://www.w3.org/1999/XMLSchema;Purdue Boilermaker/name address href=#id0/ /ns1:addEntry multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns3:address xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns3=urn:AddressFetcher2 streetNum xsi:type=xsd:int1/streetNum streetName xsi:type=xsd:stringUniversity Drive/streetName city xsi:type=xsd:stringWest Lafayette/city state href=#id1/ zip xsi:type=xsd:int47907/zip phoneNumber href=#id2/ /multiRef multiRef id=id1 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns4:stateType xmlns:ns4=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;IN/multiRef multiRef id=id2 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns5:phone xmlns:ns5=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; areaCode xsi:type=xsd:int765/areaCode exchange xsi:type=xsd:string494/exchange number xsi:type=xsd:string4900/number /multiRef /soapenv:Body /soapenv:Envelope HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Set-Cookie: 1 Set-Cookie2: 1 ?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:addEntryResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2/ /soapenv:Body /soapenv:Envelope
RE: Axis generated SOAP question.
How do you use document/literal encoding, where do you specify it for a particular service. -Original Message- From: Ricky Ho [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 17, 2002 2:07 PM To: [EMAIL PROTECTED] Subject: Re: Axis generated SOAP question. Use document/literal encoding At 12:56 PM 9/17/2002 -0700, you wrote: Hi, I noticed that the SOAP generated by Axis clients is different from what I expected. Whenever, the request/reply messages contain a complexType as a parameter then the generated SOAP seems to use multiRef and the parameters are seems to be refer to the multiRef element using href. For example: look at the soap protocol exchanged in the samples/addr example is shown below. Is this expected behavior? Is there a document/email-thread/spec. that explains why multiRefs elements are used instead of simply inlining the parameter elements? Thx. Harish POST /axis/services/AddressBook HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/beta3 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: Content-Length: 1627 ?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:addEntry soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2 name xsi:type=ns2:string xmlns:ns2=http://www.w3.org/1999/XMLSchema;Purdue Boilermaker/name address href=#id0/ /ns1:addEntry multiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns3:address xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns3=urn:AddressFetcher2 streetNum xsi:type=xsd:int1/streetNum streetName xsi:type=xsd:stringUniversity Drive/streetName city xsi:type=xsd:stringWest Lafayette/city state href=#id1/ zip xsi:type=xsd:int47907/zip phoneNumber href=#id2/ /multiRef multiRef id=id1 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns4:stateType xmlns:ns4=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;IN/multiRef multiRef id=id2 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns5:phone xmlns:ns5=urn:AddressFetcher2 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; areaCode xsi:type=xsd:int765/areaCode exchange xsi:type=xsd:string494/exchange number xsi:type=xsd:string4900/number /multiRef /soapenv:Body /soapenv:Envelope HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Set-Cookie: 1 Set-Cookie2: 1 ?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:addEntryResponse soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=urn:AddressFetcher2/ /soapenv:Body /soapenv:Envelope
Session scope and threaded request?
Hello. When the scope of the service is session, then do each request come as a separate thread and invokes the appropriate method in the class (like the servlet behaviour?) If not, do I need to extend my service class to a predefined Axis class get this behavior? Any blurb on how the requests are processed in such scenarios (session scope and application scope) will be much appreciated. Regards. -- Rajal
Deploying AXIS services in iAS6.5
Folks, Am attempting to deploy services in AXIS on iAS6.5 (iPlanet Application Server 6.5) using AdminClient. The AXIS install/deploy as a .war file into a module was successful - in that I got the AdminService to run OK. When I tried to deploy any sample - MyService to this installation using the .wsdd deploy file, the AxisServlet throws an Exception. Fault says that no SOAPAction Header is set. This however was not an issue with iWS6.0 (iPlanet WebServer 6.0) Checked the source code for AxisServlet from RC1 version of Apache's source control and it appears to be getting null at the following line of code : String soapAction = (String)req.getHeader(HTTPConstants.HEADER_SOAP_ACTION); if (soapAction == null) { AxisFault af = new AxisFault(Client.NoSOAPAction, JavaUtils.getMessage(noHeader00, SOAPAction) Has anyone been successful in doing so with iAS6.5 ? Much appreciated, Sharmin.
Sending org.w3c.dom.Document and java:MSG
Hi! In User's Guide of Axis there is stated that Axis supports messaging with three types of methods: public Element [] method(Vector v); public Document method(Document doc); public void method(MessageContext mc); The sample in samples/messaging is using the first method (public Element [] method(Vector v);). I was trying to get it working with the second, but with no success. This is what I did: - my service looks like: import org.w3c.dom.Document; public class XMLService { public Document addElement(Document doc) throws Exception { doc.getDocumentElement().setAttribute(service, XMLService); return doc; } } - the deployment descriptor: deployment xmlns=http://xml.apache.org/axis/wsdd/ xmlns:java=http://xml.apache.org/axis/wsdd/providers/java xmlns:xsi=http://www.w3.org/2000/10/XMLSchema-instance service name=XMLService provider=java:MSG parameter name=className value=XMLService / parameter name=allowedMethods value=addElement / /service /deployment - the client's main method: String endpointURL = http://localhost:8080/axis/services/XMLService; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(endpointURL)); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document doc2 = builder1.newDocument(); Element kovi= doc2.createElement(kovi); kovi.setNodeValue(neki); doc2.appendChild(kovi); call.setOperationName(addElement); call.addParameter(doc, Constants.XSD_ANYTYPE, Document.class, javax.xml.rpc.ParameterMode.IN); call.setReturnType(Constants.XSD_ANYTYPE, Document.class); System.out.println(DOC = + doc2); Document a = (Document) call.invoke(new Document[] {doc2}); The created doc2 Document is of type org.apache.crimson.tree.XmlDocument. - after running this I get an exception: Exception in thread main AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultString: java.io.IOException: No serializer found for class org.apache.crimson.tree.XmlDocument in registry org.apache.axis.encoding.TypeMappingImpl@4cee32 faultActor: null faultDetail: stackTrace: java.io.IOException: No serializer found for class org.apache.crimson.tree.XmlDocument in registry org.apache.axis.encoding.TypeMappingImpl@4cee32 at org.apache.axis.encoding.SerializationContextImpl.serializeActual(SerializationContextImpl.java:1109)at org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationContextImpl.java:684)at org.apache.axis.encoding.SerializationContextImpl.outputMultiRefs(SerializationContextImpl.java:736) .. I also tried creating the doc2 with JDOM, but at the end I end up with the same org.apache.crimson.tree.XmlDocument type document. Can anyone please tell me what I am doing wrong ? Best regards, Kovi
server-config.wsdd is not written to WEB-INF
JDK 1.4.1 - Axis RC1 - Apache (latest version)/Tomcat 4.1 on Windows NT4 workstation - using sample webapp. When I runAdminClient the server places the resulting server-config.wsdd in C:\WINNT\Profiles\XXX\Start Menu\Programs\Apache Tomcat 4.1 where XXX is my user name instead of in the WebApps WEB-INF file. I get the following report on theTomcat console : - Problem with servlet engine config file: C:\wcb\InetPub\webapps\axis\/WEB-INF/ server-config.wsdd The above was cut and pasted from the Tomcat console - I guess the odd \/ (this is not av but a bad mix ofdirectory separators)before WEB-INF is messing things up. It looks like a Windows - Unix or URL mess up. This looks like an axis bug. If so where in the code can I patch it so I can carry on my work. If this isn't an axis bug then what do am I doing wrong. I did not have this problem with the last beta version of Axis. Shimon Crown
Problem with literal encoding??
Hi, I created a simple Hello WSDL service and I got it working using SOAP encoding. Since it was using multiRefs, I changed it to literal encoding and the server side throws an exception. Can someone explain me whats going on? I am also attaching the WSDL files. POST /axis/services/GreetingOpSet HTTP/1.0^M Content-Type: text/xml; charset=utf-8^M Accept: application/soap+xml, application/dime, multipart/related, text/*^M User-Agent: Axis/beta3^M Host: localhost^M Cache-Control: no-cache^M Pragma: no-cache^M SOAPAction: ^M Content-Length: 345^M ^M ?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 SayHello request nameharish/name /request /SayHello /soapenv:Body /soapenv:Envelope HTTP/1.0 500 Internal server error^M Content-Type: text/xml; charset=utf-8^M Set-Cookie: 0^M Set-Cookie2: 0^M ^M ?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 faultcode xmlns:ns1=http://xml.apache.org/axis/;ns1:Server.userException/faultcode faultstringorg.xml.sax.SAXException: Invalid element in com.openwave.hello.SayHelloRequest - request/faultstring detail ns2:stackTrace xmlns:ns2=http://xml.apache.org/axis/;org.xml.sax.SAXException: Invalid element in com.openwave.hello.SayHelloRequest - request at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:248) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:883) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:158) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:681) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:210) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:268) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:189) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:153) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:123) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:431) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:314) at org.apache.axis.transport.http.SimpleAxisWorker.run(SimpleAxisWorker.java:407) at org.apache.axis.transport.http.SimpleAxisServer.run(SimpleAxisServer.java:166) at org.apache.axis.transport.http.SimpleAxisServer.start(SimpleAxisServer.java:205) at org.apache.axis.transport.http.SimpleAxisServer.start(SimpleAxisServer.java:213) at org.apache.axis.transport.http.SimpleAxisServer.main(SimpleAxisServer.java:277) /ns2:stackTrace /detail /soapenv:Fault /soapenv:Body /soapenv:Envelope HelloDefinitions.wsdl Description: Binary data HelloSchemas.xsd Description: Binary data HelloService.wsdl Description: Binary data
Re: server-config.wsdd is not written to WEB-INF - supplemental
Searching through the archives I see that this bug has been reported before on this list. I don't see any e-mails on it in the developers list. I couldn't find this Bugzilla but I am not familiar with the somewhat complicated interface to this program so I may well be wrong here. Does anyone know the current status of this bug ? Shimon Crown - Original Message - From: Shimon Crown To: [EMAIL PROTECTED] Sent: Wednesday, September 18, 2002 8:30 AM Subject: server-config.wsdd is not written to WEB-INF JDK 1.4.1 - Axis RC1 - Apache (latest version)/Tomcat 4.1 on Windows NT4 workstation - using sample webapp. When I run AdminClient the server places the resulting server-config.wsdd in C:\WINNT\Profiles\XXX\Start Menu\Programs\Apache Tomcat 4.1 where XXX is my user name instead of in the WebApps WEB-INF file. I get the following report on the Tomcat console : - Problem with servlet engine config file: C:\wcb\InetPub\webapps\axis\/WEB-INF/ server-config.wsdd The above was cut and pasted from the Tomcat console - I guess the odd \/ (this is not a v but a bad mix of directory separators) before WEB-INF is messing things up. It looks like a Windows - Unix or URL mess up. This looks like an axis bug. If so where in the code can I patch it so I can carry on my work. If this isn't an axis bug then what do am I doing wrong. I did not have this problem with the last beta version of Axis. Shimon Crown