I have a service, its really just a simple bean pattern: public class StatefulService { private String value; public void setValue(String value) { this.value = value; } public String getValue() { return this.value; } }
I am having a hard time figuring out what you would do from the client side to use the "getValue" method of the service, it produces the following wsdl operation: <wsdl:operation name="getValue"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="getValueRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://meis/mailservlet/" use="encoded" /> </wsdl:input> <wsdl:output name="getValueResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://meis/mailservlet/" use="encoded" /> </wsdl:output> </wsdl:operation> I tried this: call.setOperationName( new QName("StatefulService", "getValue") ); //why do I have to do this? call.addParameter( "testval", XMLType.XSD_ANY, ParameterMode.IN); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING); //why does invoke require an object array if there are no parameters? //shouldn't there be an overloaded method with no parameters? String ret = (String)call.invoke( new Object[] { null } ); But it doesn't work, I can't find any services without parameters in the examples, any ideas? ----------------------------------------- Clay Graham President newObjectivity, Inc. making the mobile-world-office http://www.newobjectivity.com/ -----Original Message----- From: Clay Graham [mailto:[EMAIL PROTECTED] Sent: Friday, April 04, 2003 10:13 AM To: [EMAIL PROTECTED] Subject: RE: Stateful web services. This has been filed as bug# 18718 Hope it helps! ----------------------------------------- Clay Graham President newObjectivity, Inc. making the mobile-world-office http://www.newobjectivity.com/ -----Original Message----- From: Davanum Srinivas [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2003 5:44 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: Stateful web services. See directions for patches at http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/SubmitPatc hes --- Clay Graham <[EMAIL PROTECTED]> wrote: > Absolutely. > > I am not real familiar with the development process of axis, but I am > more than willing to try! > > What I will try to do is make a nice package based on the existing > docs, and then submit it (where?). > > > > ----------------------------------------- > Clay Graham > President > newObjectivity, Inc. > making the mobile-world-office > http://www.newobjectivity.com/ > > > > -----Original Message----- > From: Tom Jordahl [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 03, 2003 1:50 PM > To: '[EMAIL PROTECTED]' > Subject: RE: Stateful web services. > > > > Clay, > > This is great. Do you think you could check out the current Axis HTML > docs and see if you can put together a patch that would integrate this > in to it? > > Your code could just be new files in the samples directory. > > If you could do that, then put the info in a Bugzilla report, that > would increase the chances that someone (me) would check it in to the > tree for others. > > -- > Tom Jordahl > Macromedia Server Development > > -----Original Message----- > From: Clay Graham [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 03, 2003 3:22 PM > To: [EMAIL PROTECTED] > Subject: RE: Stateful web services. > > [SOLUTION] > > I am including the full solution because I think this is the type of > thing everybody wants.... > > ##################################################################### > > 1. Create your service > > /* > * NOIMailService.java > * > * Created on April 2, 2003, 5:19 PM > */ > > package com.noi.mailservlet.web.services; > import javax.activation.*; > import java.util.*; > import javax.ejb.*; > import javax.mail.*; > import javax.mail.internet.*; > import javax.mail.search.*; > import java.io.*; > > /** > * > * @author clay > */ > public class NOIMailService { > > /** Holds value of property username. */ > private String username; > > /** Holds value of property password. */ > private String password; > > /** Holds value of property hostname. */ > private String hostname; > > private boolean connected; > > /** Holds value of property protocol. */ > private String protocol; > > private static final String loginmbox = "INBOX"; > > private Store store; > private Session session; > private URLName url; > > /** Creates a new instance of NOIMailService */ > public NOIMailService() { > this.connected = false; > this.protocol = "imap"; > } > > > public boolean login(String protocol, String username, String > password, String hostname) > { > > this.protocol = protocol; > this.username = username; > this.password = password; > this.hostname = hostname; > > try{ > url = new URLName( > this.protocol, > this.hostname, > -1, > this.loginmbox, > this.username, > this.password); > > Properties props = System.getProperties(); > > if (hostname != null) > props.put("mail.smtp.host", this.hostname); > else if (props.getProperty("mail.smtp.host") == null) > props.put("mail.smtp.host", "localhost"); > > this.session = Session.getDefaultInstance(props, null); > this.session.setDebug(true); > > PasswordAuthentication pw = new > PasswordAuthentication(url.getUsername(), this.url.getPassword()); > this.session.setPasswordAuthentication(url, pw); > > this.store = this.session.getStore(url); > this.store.connect(); > this.connected = true; > return this.connected; > } > catch(Exception e) > { > this.connected = false; > return this.connected; > } > > } > > public boolean isConnected() > { > return this.connected; > } > > public boolean sendStatelessMessage(String protocol, String > username, String password, String hostname, String to, String cc, > String bcc, String subject, String body) > { > if(this.login(protocol, username, password, hostname)) > { > try { > > Message msg = new MimeMessage(this.session); > > //to > InternetAddress[] toAddrs = null; > if ((to != null) && !to.equals("")) { > toAddrs = InternetAddress.parse(to, false); > msg.setRecipients(Message.RecipientType.TO, > toAddrs); > } > else > return false; > > > //sent date > msg.setSentDate(Calendar.getInstance().getTime()); > > //from > String fromAddress = url.getUsername() + > "@"+url.getHost(); > msg.setFrom(new InternetAddress(fromAddress)); > > //cc > InternetAddress[] ccAddrs = null; > if ((cc != null) && !cc.equals("")) { > ccAddrs = InternetAddress.parse(cc, false); > msg.setRecipients(Message.RecipientType.CC, > ccAddrs); > } > > InternetAddress[] bccAddrs = null; > if ((bcc != null) && !bcc.equals("")) { > bccAddrs = InternetAddress.parse(bcc, false); > msg.setRecipients(Message.RecipientType.BCC, > toAddrs); > } > > //subject > === message truncated === ===== Davanum Srinivas - http://webservices.apache.org/~dims/ __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com