You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by Peoter Veliki <pe...@hotmail.com> on 2001/09/14 00:07:06 UTC
please help with error deploying
This is from the IBM WSTK tutorial:
set ACTIVATION_CP="F:\Java\jaf1_0_1\jaf-1.0.1\activation.jar"
set MAIL_CP="F:\Java\javamail-1_2\javamail-1.2\mail.jar"
set XERCES_CP="F:\Java\Xerces-J-bin.1.4.3\xerces-1_4_3\xerces.jar"
set SOAP_CP="F:\Apache\soap-bin-2.2\soap-2_2\lib\soap.jar"
set NASDAQ_CP="F:\IBM\wstk-2.4\tutorial\NasdaqQuotes\lib\NasdaqQuotes.jar"
java -cp %ACTIVATION_CP%;%MAIL_CP%;%XERCES_CP%;%SOAP_CP% org.apache.soap.server.ServiceManagerClient http://localhost:8080/soap/servlet/rpcrouter deploy NasdaqQuotes_Service-deploy.xml
Ouch, the call failed:
Fault Code = SOAP-ENV:Server.Exception:
Fault String = java.lang.NoSuchMethodError
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment" id="urn:nasdaqquotes-service" checkMustUnderstands="false">
<isd:provider type="java" scope="Application" methods="getQuote">
<isd:java class="com.ibm.samples.nasdaqQuotes.NasdaqQuotes" static="false"/>
</isd:provider>
<isd:mappings>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="urn:NasdaqQuotes"
qname="x:NasdaqQuote"
javaType="com.ibm.samples.nasdaqQuotes.NasdaqQuote"
xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
</isd:mappings>
</isd:service>
package com.ibm.samples.nasdaqQuotes;
import com.ibm.wstk.xml.XMLReader;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.net.URL;
import java.net.URLConnection;
import java.io.StringReader;
import java.io.InputStream;
public class NasdaqQuotes {
static final String surl = "http://quotes.nasdaq.com/quote.dll?page=xml&mode=stock";
public static void main(String[] args) {
try {
NasdaqQuotes nq = new NasdaqQuotes();
NasdaqQuote quote = nq.getQuote(args[0]);
System.out.println(quote);
} catch (Exception e) {
System.out.println(e);
}
}
public NasdaqQuote getQuote(String symbol) throws Exception {
// Get The Quote
String nurl = this.surl + "&symbol=" + symbol;
URL url = new URL(nurl);
String res = doGet(url);
StringReader sr = new StringReader(res);
XMLReader xmlReader = new XMLReader(sr);
Document d = xmlReader.read();
Element eq = (Element)d.getDocumentElement().getChildNodes().item(1);
// Build the NasdaqQuote Object
NasdaqQuote nq = new NasdaqQuote(eq);
return nq;
}
private String doGet(URL url) throws Exception {
URLConnection conn = null;
InputStream in = null;
String results = null;
conn = url.openConnection();
byte[] buffer = new byte[0];
byte[] chunk = new byte[4096];
int count;
in = conn.getInputStream();
while ((count = in.read(chunk)) > 0) {
byte[] t = new byte[buffer.length + count];
System.arraycopy(buffer, 0, t, 0, buffer.length);
System.arraycopy(chunk, 0, t, buffer.length, count);
buffer = t;
}
results = new String(buffer);
return results;
}
}
package com.ibm.samples.nasdaqQuotes;
import org.w3c.dom.*;
public class NasdaqQuote {
protected String symbol;
protected String market;
protected double todaysHigh;
protected double todaysLow;
protected double fiftyTwoHigh;
protected double fiftyTwoLow;
protected double lastSalePrice;
protected double netPriceChange;
protected String netPercentChange;
protected long shareVolume;
protected double previousClosePrice;
protected long totalShares;
protected String issuerWebSite;
protected String tradingStatus;
private String getNodeValue(String name, Element parent) {
return parent.getElementsByTagName(name).item(0).getChildNodes().item(0).getNodeValue();
}
public NasdaqQuote() {}
public NasdaqQuote(Element e) {
setSymbol(e.getAttribute("symbol"));
setMarket(getNodeValue("market-center-code", e));
setTodaysHigh((new Double(getNodeValue("todays-high-price", e))).doubleValue());
setTodaysLow((new Double(getNodeValue("todays-low-price", e))).doubleValue());
setFiftyTwoWeekHigh((new Double(getNodeValue("fifty-two-wk-high-price", e))).doubleValue());
setFiftyTwoWeekLow((new Double(getNodeValue("fifty-two-wk-low-price", e))).doubleValue());
setLastSalePrice((new Double(getNodeValue("last-sale-price", e))).doubleValue());
setNetPriceChange((new Double(getNodeValue("net-change-price", e))).doubleValue());
setNetPercentChange(getNodeValue("net-change-pct", e));
setShareVolume((new Long(getNodeValue("share-volume-qty", e))).longValue());
setPreviousClosePrice((new Double(getNodeValue("previous-close-price", e))).doubleValue());
setTotalShares((new Long(getNodeValue("total-outstanding-shares-qty", e))).longValue());
setIssuerWebSite(getNodeValue("issuer-web-site-url", e));
setTradingStatus(getNodeValue("trading-status",e));
}
public String toString() {
String res = "Symbol: " + symbol + "\r\n"
+ "Market: " + market + "\r\n"
+ "Todays High: " + todaysHigh + "\r\n"
+ "Todays Low: " + todaysLow + "\r\n"
+ "52-Week High: " + fiftyTwoHigh + "\r\n"
+ "52-Week Low: " + fiftyTwoLow + "\r\n"
+ "Last Sale Price: " + lastSalePrice + "\r\n"
+ "Net Price Change: " + netPriceChange + "\r\n"
+ "Net Percent Change: " + netPercentChange + "\r\n"
+ "Total Share Volume: " + shareVolume + "\r\n"
+ "Previous Close Price: " + previousClosePrice + "\r\n"
+ "Total Outstanding Shares: " + totalShares + "\r\n"
+ "Issuer Web Site: " + issuerWebSite + "\r\n"
+ "Trading Status: " + tradingStatus + "\r\n";
return res;
}
public String getSymbol() {
return symbol;
}
public String getMarket() {
return market;
}
public double getTodaysHigh() {
return todaysHigh;
}
public double getTodaysLow() {
return todaysLow;
}
public double getFiftyTwoWeekHigh() {
return fiftyTwoHigh;
}
public double getFiftyTwoWeekLow() {
return fiftyTwoLow;
}
public double getLastSalePrice() {
return lastSalePrice;
}
public double getNetPriceChange() {
return netPriceChange;
}
public String getNetPercentChange() {
return netPercentChange;
}
public long getShareVolume() {
return shareVolume;
}
public double getPreviousClosePrice() {
return previousClosePrice;
}
public long getTotalShares() {
return totalShares;
}
public String getIssuerWebSite() {
return issuerWebSite;
}
public String getTradingStatus() {
return tradingStatus;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public void setMarket(String market) {
this.market = market;
}
public void setTodaysHigh(double todaysHigh) {
this.todaysHigh = todaysHigh;
}
public void setTodaysLow(double todaysLow) {
this.todaysLow = todaysLow;
}
public void setFiftyTwoWeekHigh(double fiftyTwoHigh) {
this.fiftyTwoHigh = fiftyTwoHigh;
}
public void setFiftyTwoWeekLow(double fiftyTwoLow) {
this.fiftyTwoLow = fiftyTwoLow;
}
public void setLastSalePrice(double lastSalePrice) {
this.lastSalePrice = lastSalePrice;
}
public void setNetPriceChange(double netPriceChange) {
this.netPriceChange = netPriceChange;
}
public void setNetPercentChange(String netPercentChange) {
this.netPercentChange = netPercentChange;
}
public void setShareVolume(long shareVolume) {
this.shareVolume = shareVolume;
}
public void setPreviousClosePrice(double previousClosePrice) {
this.previousClosePrice = previousClosePrice;
}
public void setTotalShares(long totalShares) {
this.totalShares = totalShares;
}
public void setIssuerWebSite(String issuerWebSite) {
this.issuerWebSite = issuerWebSite;
}
public void setTradingStatus(String tradingStatus) {
this.tradingStatus = tradingStatus;
}
}