Static method throwing "cannot find symbol - method"
This is an assignment for school. I'm in my second semester of object oriented programming. Here is the method causing the error when compiled in the test case:
public void testRead()
Company aCompany = buildCompany();
aCompany.writeToFile("CompanyDatabase.txt");
Company bCompany = new BooksAndMore();
bCompany = readFromFile("CompanyDatabase.txt");
assertTrue(aCompany.equals(bCompany));
}Error thrown is "cannot find symbol - method readFromFile(java.lang.String). Here is the method being called:
{code} public static Company readFromFile(String fileName)
Company company = new BooksAndMore();
FileInputStream fis = null;
ObjectInputStream in = null;
try
fis = new FileInputStream(fileName);
in = new ObjectInputStream(fis);
company = (Company)in.readObject();
in.close();
catch (IOException ex)
ex.printStackTrace();
catch (ClassNotFoundException ex)
ex.printStackTrace();
return company;
}{code}
What am I doing wrong?
are testRead() and readFromFile() in the same class?
also, the first line is pointless:
Company bCompany = new BooksAndMore();
bCompany = readFromFile("CompanyDatabase.txt");Since the second line calls a method that creates a new BooksAndMore object, there's no point creating one in the first line...it will just be replaced by the new one.
Company bCompany = readFromFile("CompanyDatabase.txt");...assuming that your readFromFile() method is in the same class. If not, you need to call the method on the class.
Similar Messages
-
Error: cannot find symbol method Text
Hi
I want to make an index for txt files by using Lucene, it got an error: cannot find symbol method Text. what is it about? Does it mean the Text is not in Field?
thank you v much
pls look into my code:
package TestLucene;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.util.Date;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.document.Fieldable;
import java.io.Serializable;
* This class demonstrate the process of creating index with Lucene
* for text files
public class Lucene {
public static void main(String[] args) throws Exception{
//indexDir is the directory that hosts Lucene's index files
File indexDir = new File("D:\\luceneIndex");
//dataDir is the directory that hosts the text files that to be indexed
File dataDir = new File("D:\\luceneData");
Analyzer luceneAnalyzer = new StandardAnalyzer();
File[] dataFiles = dataDir.listFiles();
IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true);
long startTime = new Date().getTime();
for(int i = 0; i < dataFiles.length; i++){
if(dataFiles.isFile() && dataFiles[i].getName().endsWith(".txt")){
System.out.println("Indexing file " + dataFiles[i].getCanonicalPath());
Document document = new Document();
Reader txtReader = new FileReader(dataFiles[i]);
document.add(Field.Text("path",dataFiles[i].getCanonicalPath()));
document.add(Field.Text("contents",txtReader));
indexWriter.addDocument(document);
indexWriter.optimize();
indexWriter.close();
long endTime = new Date().getTime();
System.out.println("It takes " + (endTime - startTime)
+ " milliseconds to create index for the files in directory "
+ dataDir.getPath());Hal-.- wrote:
I downloaded Lucene from its homepage, I have tried Lucene 2.3.0 and Lucene 2.2.0, but same errors occurs which is cannot find symbol method Text.
I checked class Field under Lucene, it doesn't have Text function. Well there you go. You can't call methods that don't exist.
What should I do to add two Fields "path" & "contents" into Document?It seems very likely that the object that represents an indexed document, has some way to express the concepts of "path" and "contents". You should probably just read the docs some more.
But other than that I have no idea. Ask on a Lucene forum. -
Error : cannot find setter method....
hi i am using Ant 1.6 and struts framework .....to run a simple program to print a name
i have followed all the basic steps ....to create a struts application
now the problem is
when i am trying to acces the applicatin it is giving
org.apache.jasper.JasperException: /index.jsp(9,2) Unable to find setter method for attribute: name
the form tag in index.jsp is
<html:form action="Name"name="nameForm" type="NameForm">
the bean is
package com;
//import statements
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class NameForm extends ActionForm {
String name = null;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.name = null;
} the struts-config.xml file...
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="nameForm" type="com.NameForm"/>
</form-beans>
<action-mappings>
<action path="/Name"
type="com.NameAction"
name="nameForm"
input="/index.jsp">
<forward name="success" path="/displayname.jsp"/>
<forward name="failure" path="/index.jsp"/>
</action>
</action-mappings>
</struts-config>
thanks....in advanceHal-.- wrote:
I downloaded Lucene from its homepage, I have tried Lucene 2.3.0 and Lucene 2.2.0, but same errors occurs which is cannot find symbol method Text.
I checked class Field under Lucene, it doesn't have Text function. Well there you go. You can't call methods that don't exist.
What should I do to add two Fields "path" & "contents" into Document?It seems very likely that the object that represents an indexed document, has some way to express the concepts of "path" and "contents". You should probably just read the docs some more.
But other than that I have no idea. Ask on a Lucene forum. -
"cannot find symbol" error : method
I'm playing with a sample serial port program and making some changes. I'm sure the error is painfully obvious, but I cannot resolve this:
SimpleComm.java:122: cannot find symbol
symbol : method SimpleComm()
location: class SimpleComm
public static void main(String[] args) {SimpleComm();
^
what is going wrong? thanks
sample code:
import java.io.*;
import java.util.*;
import gnu.io.*;
public class SimpleComm {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "!00BCN10Dh";
static SerialPort serialPort;
static OutputStream outputStream;
static boolean outputBufferEmptyFlag = false;
public SimpleComm() {
super();
boolean portFound = false;
String defaultPort = "/dev/ttyS0";
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals(defaultPort)) {
System.out.println("Found port " + defaultPort);
portFound = true;
try {
serialPort =
(SerialPort) portId.open("SimpleWrite", 2000);
} catch (PortInUseException e) {
System.out.println("Port in use.");
continue;
try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}
try {
serialPort.setSerialPortParams(4800,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
try {
serialPort.notifyOnOutputEmpty(true);
} catch (Exception e) {
System.out.println("Error setting event notification");
System.out.println(e.toString());
System.exit(-1);
System.out.println(
"Writing \""+messageString+"\" to "
+serialPort.getName());
try {
outputStream.write(messageString.getBytes());
} catch (IOException e) {}
try {
Thread.sleep(2000); // Be sure data is xferred before closing
} catch (Exception e) {}
serialPort.close();
System.exit(1);
if (!portFound) {
System.out.println("port " + defaultPort + " not found.");
public static void main(String[] args) {SimpleComm();
if (args.length > 0) {
defaultPort = args[0];
}try
new SimpleComm()you are calling a constructor, not a method. This should wokr : )
Hope this helps -
Cannot find symbol for some jms methods
Hi, I'm new to JMS and am having trouble compiling the HelloWorld example. I am able to create a connection but for some reason I cannot create a session from the same connection. I am however able to call some of the other methods such as getClientID, start, and close. Below is a copy of what i have compiled so far (which is basically a copy of the example code), the error message I get, and what I have CLASSPATH set to. If my CLASSPATH is not set correctly, I would assume none of the code would compile which is very confusing. Any help is appreciated, thanks!
//Step 1:
//Import the JMS API classes.
import javax.jms.ConnectionFactory;
import javax.jms.Connection;
import javax.jms.Session;
import javax.jms.MessageProducer;
import javax.jms.MessageConsumer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.Message;
import javax.jms.TextMessage;
import javax.jms.*;
//Import the classes to use JNDI.
import javax.naming.*;
import java.util.*;
public class HelloWorldMessage
public static void main(String[] args){
System.out.println("Hello World!");
try{
Queue myQueue;
// Instantiate a Oracle GlassFish(tm) Server Message Queue ConnectionFactory administered object
com.sun.messaging.ConnectionFactory myConnFactory = new com.sun.messaging.ConnectionFactory();
// Create a connection to the Oracle GlassFish(tm) Server Message Queue Message Service.
Connection myConn = myConnFactory.createConnection();
myConn.getClientID();
// Create a session within the connection.
Session mySess = myConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
myQueue = new com.sun.messaging.Queue("world");
myConn.close();
catch(Exception jmse){
System.out.println("Exception occurred : " + jmse.toString());
jmse.printStackTrace();
# javac HelloWorldMessage.java
HelloWorldMessage.java:39: cannot find symbol
symbol : method createSession(boolean,int)
location: interface javax.jms.Connection
Session mySess = myConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
^
1 error
# echo $CLASSPATH
.:/usr/java/default/j2sdkee1.3/lib/j2ee.jar:/usr/java/default/j2sdkee1.3/lib/:/root/MessageQueue/mq/lib/fscontext.jar:/usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0.x86_64/jndi.jar:/root/MessageQueue/mq/lib/jms.jar:/root/MessageQueue/mq/lib/imq.jar:/root/MessageQueue/mq/lib/jaxm-api.jar:/root/MessageQueue/mq/lib/imqxm.jar:/root/MessageQueue/mq/lib/imqservlet.jar
Edited by: 883631 on Sep 6, 2011 4:03 PMYou have an old j2ee.jar from 1.3 in your CLASSPATH.
Can you move jms.jar and imq.jar in front of that old j2ee.jar?
Thx/ -
Cannot find symbol: trying to index a method output
The problem appears at the end of the code
import java.util.*;
public class Dreieck
//Die Seiten des Dreiecks
//Sides of triangle
Object[] n= new Object[3];
Object[] m= new Object[3];
Object[] o= new Object[3];
//Jede Seite erhält enthält 2 Eckpuckte und das anliegende Dreieck
// Each side contains 2 corner ponts and the adjacent triangle
Dreieck ( Punkt a, Punkt b, Punkt c, Dreieck e, Dreieck f, Dreieck g) {
n[1]=a; n[2]=b; n[3]=e;
m[1]=b; m[2]=c; m[3]=f;
o[1]=c; o[2]=a; o[3]=g;
int[] getside(Dreieck asker){
if (n[3]== asker)
return ((Punkt) m[2]).getposition();
else if (m[3]== asker)
return ((Punkt) o[2]).getposition();
else if (o[3]== asker)
return ((Punkt) n[2]).getposition();
// nur zum compilieren hinzugefügt
else
return ((Punkt) n[1]).getposition();
int skaprod(int[] vec, int[] tor){
return ((vec[1] * tor[1]) + (vec[2] * tor[2])) * Math.abs((vec[1] * tor[1]) + (vec[2] * tor[2])) /(((vec[1]*vec[1]) + (vec[2]*vec[2])) *((tor[1]*tor[1])+(tor[2]*tor[2])));
int revskaprod(int[] vec, int[] tor){
return ((vec[1] * (-tor[1])) + (vec[2] * (-tor[2]))) * Math.abs((vec[1] * (-tor[1])) + (vec[2] * (-tor[2]))) /(((vec[1]*vec[1]) + (vec[2]*vec[2])) *(((-tor[1])*(-tor[1]))+((-tor[2])*(-tor[2]))));
void evertCheck(){
int[] eins = ((Punkt) n[1]).getposition();
int[] zwei = ((Punkt) n[2]).getposition();
int[] drei = ((Punkt) m[2]).getposition();
int[] seiteA= {eins[1] -zwei[1],eins[2] -zwei[2]};
int[] seiteB= {zwei[1] -drei[1],zwei[2] -drei[2]};
int[] seiteC= {drei[1] -eins[1],drei[2]-eins[2]};
int[] nachA1= {(e.asker(this))[1] -zwei[1],(e.asker(this))[2] -zwei[2]};
//int[] NachB1=
//int[] NachC1=
//int[] NachA2=
//int[] NachB2=
//int[] NachC2=
} Dreieck(triangle) is an incomplete class refering to the class Punkt(point):
import java.util.*;
public class Punkt
int[] position = new int [2];
LinkedList nachbarn = new LinkedList();
Punkt(int a, int b){
position[1]=a; position[2]=b; }
int[] getposition() { return position; }
void changeposition(int c,int d) {
position[1]+=c; position[2]+=d; }
}Anm: nachbarn = neighbours
I am trying to calculate the vectors, to calculate the scalar products, to get the cos of the angle, to check for certain conditions occuring XD
This class is part of an idea for a certain 2D physics system, basically instead of using collision checks or forcefields I connect the points with a network of lines
and only let the points interact with their direct neighbours while also allowing "signals"to travel trough connections.
Why do I do this? So that the O(n)= n (the needed processing power is only linearly dependant on number of points)
Whats the challenge? Well its not easy to find conditions for reconnections so that points that are connected are relaitvely near to each other.
Why such imprecision? Game phsysics does not always have to be precise besides when I operate with a large number of points things smoothen up statistically.
Game physics? I have some interest in artificial life this system is part of me trying to write an artificial life simulation.
Of course my current version is pretty clumsy but i hope it can be streamlined for processing power.I guess you interpreted "post" as this topic, when I meant the reply I gave you, then it would make sense you assume I have withold information.
Cause there really is no specific information for me to provide, it was a simple forward problem of a cannot find symbol error.
(I know that help can only be provided with enough information, thats why I gave you the whole code stated my intentions in the title as well as additional text etc., so you say thats the wrong "kind" of information?)
As for your argument against compiling I must admit I do not understand it cause its a copy, paste and click action to compile the code.
Ah but well thats not so important did not want to ruin your mood actually found the solution :)
int[] nachA1= {(((Dreieck) n[3]).getside(this))[1] -zwei[1], (((Dreieck) n[3]).getside(this))[2]-zwei[2]};Edited by: casualPhilosoph on Jan 23, 2009 2:28 PM -
Cannot find symbl method update Date(int,java.util.Date)
I get following error
cannot find symbl method update Date(int,java.util.Date) on compling class called GuestDataBean at line ( rowSet.updateDate( 4, guest.getDate() ); ).
GustBean.java. I need help on why I get it.
// JavaBean to store data for a guest in the guest book.
package com.deitel.jhtp6.jsp.beans;
import java.util.*;
public class GuestBean
private String firstName;
private String lastName;
private String email;
private Date date;
private String message;
//Constructors
public GuestBean(){
public GuestBean(String firstname, String lastname, String email,Date date,String message){
this.firstName=firstname;
this.lastName=lastName;
this.email=email;
this.date=date;
this.message=message;
// set the guest's first name
public void setFirstName( String name )
firstName = name;
} // end method setFirstName
// get the guest's first name
public String getFirstName()
return firstName;
} // end method getFirstName
// set the guest's last name
public void setLastName( String name )
lastName = name;
} // end method setLastName
// get the guest's last name
public String getLastName()
return lastName;
} // end method getLastName
// set the guest's email address
public void setEmail( String address )
email = address;
} // end method setEmail
// get the guest's email address
public String getEmail()
return email;
} // end method getEmail
public void setMessage( String mess)
message = mess;
} // end method setEmail
// get the guest's email address
public String getMessage()
return message;
} // end method getEmail
public void setDate( Date dat )
date = dat;
} // end method setEmail
// get the guest's email address
public Date getDate()
return date;
} // end method getEmail
} // end class GuestBean
GuestDataBean.java/**
* @(#)GuestDataBean.java
* @author
* @version 1.00 2008/7/18
// Class GuestDataBean makes a database connection and supports
// inserting and retrieving data from the database.
package com.deitel.jhtp6.jsp.beans;
import java.sql.SQLException;
import javax.sql.rowset.CachedRowSet;
import java.util.ArrayList;
import com.sun.rowset.CachedRowSetImpl; // CachedRowSet implementation
import java.sql.*;
public class GuestDataBean
private CachedRowSet rowSet;
// construct TitlesBean object
public GuestDataBean() throws Exception
// load the MySQL driver
Class.forName( "org.gjt.mm.mysql.Driver" );
// specify properties of CachedRowSet
rowSet = new CachedRowSetImpl();
rowSet.setUrl( "jdbc:mysql://localhost:3306/virsarmedia" );
rowSet.setUsername( "root" );
rowSet.setPassword( "" );
// obtain list of titles
rowSet.setCommand(
"SELECT firstName, lastName, email,date,message FROM guest" );
rowSet.execute();
} // end GuestDataBean constructor
// return an ArrayList of GuestBeans
public ArrayList< GuestBean > getGuestList() throws SQLException
ArrayList< GuestBean > guestList = new ArrayList< GuestBean >();
rowSet.beforeFirst(); // move cursor before the first row
// get row data
while ( rowSet.next() )
GuestBean guest = new GuestBean();
guest.setFirstName( rowSet.getString( 1 ) );
guest.setLastName( rowSet.getString( 2 ) );
guest.setEmail( rowSet.getString( 3 ) );
guest.setDate( rowSet.getDate( 4 ) );
guest.setMessage( rowSet.getString( 5 ) );
guestList.add( guest );
} // end while
return guestList;
} // end method getGuestList
// insert a guest in guestbook database
public void addGuest( GuestBean guest ) throws SQLException
rowSet.moveToInsertRow(); // move cursor to the insert row
// update the three columns of the insert row
rowSet.updateString( 1, guest.getFirstName() );
rowSet.updateString( 2, guest.getLastName() );
rowSet.updateString( 3, guest.getEmail() );
rowSet.updateDate( 4, guest.getDate() );
rowSet.updateString( 5, guest.getMessage() );
rowSet.insertRow(); // insert row to rowSet
rowSet.moveToCurrentRow(); // move cursor to the current row
rowSet.commit(); // propagate changes to database
} // end method addGuest
} // end class GuestDataBeanThis isn't a JSP question, it better belongs in the JavaProgramming, or JDBC forums.
But the problem is because the updateDate method uses a java.sql.Date object and you are giving it a java.util.Date object. You have to convert from java.util.Date to java.sql.Date. See: [the api for java.sql.Date|http://java.sun.com/javase/6/docs/api/java/sql/Date.html] .
Edited by: stevejluke on Jul 21, 2008 5:43 PM -
Cannot resolve symbol: method getCodeBase ()
I`m creating a dice game that makes a sound when player wins or looses. Instaed I`m getting the following error message: Cannot resolve symbol: method getCodeBase (). I think this depends on the fact that I have a separate applet launcher but cannot figure out how to solve this, please help!!
This is the applet launcher
import javax.swing.*;
import java.awt.*;
// [MC] Public class DiceApplet
public class DiceApplet extends JApplet
// [MC] Constructor.
public DiceApplet()
// [MC] Sets the contentPane property. This method is called by the constructor.
this.setContentPane(new DicePanel());
This is the die class
import java.awt.*;
import javax.swing.*;
// [MC] Public class Die
public class Die extends JPanel
// ======================================================================
// [MC] Instance variable.
private int myFaceValue; // [MC] Value that shows on face of die.
// [MC] End instance variable.
// ======================================================================
// [MC] Constructor.
// [MC] Initialises die to blue background and initial roll.
public Die()
// [MC] Sets the background colour of the die to blue.
setBackground(Color.blue);
// [MC] Sets the foreground colour of the die to gray.
setForeground(Color.gray);
// [MC] Sets the border colour of the die to white.
setBorder(BorderFactory.createMatteBorder(4, 4, 4, 4, Color.white));
// [MC] Sets to random initial value.
roll();
} // [MC] End constructor.
// ======================================================================
// [MC] Method roll.
// [MC] Produces random roll in the range of 1 to 6.
public int roll()
int val = (int)(6*Math.random() + 1); // [MC] Range from 1 to 6.
setValue(val);
return val; // [MC] Returns a value from 1 to 6.
} // [MC] End method roll.
// [MC] Method setValue
// [MC] Sets the value of the die. Causes repaint.
public void setValue(int dots)
myFaceValue = dots;
repaint(); // [MC] Value has changed, must repaint.
} // [MC] End method setValue.
// ======================================================================
// [MC] Method getValue.
// [MC] Returns result of last roll.
public int getValue()
return myFaceValue;
} // [MC] End method getValue.
// ======================================================================
// [MC] Method paintComponent.
// [MC] Draws dots of die face.
public void paintComponent(Graphics g)
// [MC] Call superclass's paint method.
super.paintComponent(g);
// [MC] Sets panel width.
int w = getWidth();
// [MC] Sets panel height.
int h = getHeight();
// [MC] Draws border.
g.drawRect(0, 0, w-1, h-1);
// Switch
switch (myFaceValue)
case 1: drawDot(g, w/2, h/2);
break;
case 3: drawDot(g, w/2, h/2);
case 2: drawDot(g, w/4, h/4);
drawDot(g, 3*w/4, 3*h/4);
break;
case 5: drawDot(g, w/2, h/2);
case 4: drawDot(g, w/4, h/4);
drawDot(g, 3*w/4, 3*h/4);
drawDot(g, 3*w/4, h/4);
drawDot(g, w/4, 3*h/4);
break;
case 6: drawDot(g, w/4, h/4);
drawDot(g, 3*w/4, 3*h/4);
drawDot(g, 3*w/4, h/4);
drawDot(g, w/4, 3*h/4);
drawDot(g, w/4, h/2);
drawDot(g, 3*w/4, h/2);
break;
} // [MC] End switch.
} // [MC] End method paintComponent.
// [MC] Method drawDot.
/** Utility method used by paintComponent(). */
private void drawDot(Graphics g, int x, int y)
// [MC] Gets panel width.
int w = getWidth();
// [MC] Gets panel height.
int h = getHeight();
// [MC] Local variable.
int d;
// [MC] Sets diameter of dot proportional to panel size.
d = (w + h)/10;
// [MC] Sets colour for dot to white.
Color myDotColor = new Color(255, 255, 255);
g.setColor(myDotColor);
// [MC] Draws dot.
g.fillOval(x-d/2, y-d/2, d, d);
} // [MC] End method drawDot.
This is the class giving the error message
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import java.applet.AudioClip;
import java.applet.Applet;
import java.net.*;
// [MC] Public class DicePanel
public class DicePanel extends JPanel
// ======================================================================
// [MC] Instance variables.
// [MC] Creates new instances of the component for the die.
private Die myLeftDie; // [MC] Component for left die.
private Die myRightDie; // [MC] Component for right die.
// [MC] Creates the button (rollButton) to roll the dice.
private JButton rollButton = new JButton("Roll Dice");
// [MC] Creates the text fields. Creates new instance of JTextField.
// [MC] Creates the text field (rollNumberTextField) to display number of rolls.
private JTextField rollNumberTextField = new JTextField(20);
// [MC] Creates the text field (rollResultTextField) to display result of roll.
private JTextField rollResultTextField = new JTextField(20);
// [MC] Creates the text field (rollPointsTextField) to display the player`s points.
private JTextField rollPointsTextField = new JTextField(20);
// [MC] Creates the text field (gameFinalResultTextField) to display the final game result.
private JTextField gameFinalResultTextField = new JTextField(20);
// [MC] Initialises instance variables declared in the inner listeners.
private int result = 0, resultLeft = 0, resultRight = 0;
private int rolls = 0;
private int finalResult = 0;
private int points = 0;
private boolean first = true;
private AudioClip winClip = null;
private AudioClip looseClip = null;
// ======================================================================
// [MC] Constructor. Creates border layout panel.
DicePanel()
// [MC] Creates the dice
myLeftDie = new Die();
myRightDie = new Die();
// ======================================================================
// [MC] Creates the buttons.
// [MC] Creates the button (newGameButton) to start new game.
JButton newGameButton = new JButton("New Game");
// *[MC] Creates the button (rollButton) to roll the dice.
// *JButton rollButton = new JButton("Roll Dice");
// [MC] Sets the font of the buttons.
// [MC[ Sets the font of the button newGameButton.
newGameButton.setFont(new Font("Batang", Font.BOLD, 20));
// [MC[ Sets the font of the button rollButton.
rollButton.setFont(new Font("Batang", Font.BOLD, 20));
// [MC] Sets the button border format.
// [MC] Sets the button with compound borders.
Border compound;
// [MC] Border format local variables.
Border blackline, raisedetched, loweredetched, raisedbevel, loweredbevel, empty;
// [MC] Initialises border formats.
//blackline = BorderFactory.createLineBorder(Color.gray);
raisedetched = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
loweredetched = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
raisedbevel = BorderFactory.createRaisedBevelBorder();
//loweredbevel = BorderFactory.createLoweredBevelBorder();
// [MC] Sets compound border format.
compound = BorderFactory.createCompoundBorder(raisedetched, raisedbevel);
// [MC] Sets the button (newGameButton) with compound border format.
newGameButton.setBorder(compound);
// [MC] Sets the button (rollButton) with compound border format.
rollButton.setBorder(compound);
// [MC] Adds listener.
// [MC] Adds listener to rollButton.
rollButton.addActionListener(new RollListener());
// [MC] Adds listener to newGameButton.
newGameButton.addActionListener(new NewGameListener());
// ======================================================================
// [MC] Creates the labels. Creates new instance of JLabel.
// [MC] Creates the label (rollNumberLabel) for the number of rolls.
JLabel rollNumberLabel = new JLabel("Roll Number");
// [MC] Creates the label (rollResultLabel) for the result of roll.
JLabel rollResultLabel = new JLabel("Roll Result");
// [MC] Creates the label (rollPointsLabel) for the player`s points.
JLabel rollPointsLabel = new JLabel("Player Points");
// [MC] Creates the label (gameFinalResult) for the final game result.
JLabel gameFinalResultLabel = new JLabel("Final Result");
// [MC] Sets the label font.
rollNumberLabel.setFont(new Font("Sansserif", Font.PLAIN, 10));
rollResultLabel.setFont(new Font("Sansserif", Font.PLAIN, 10));
rollPointsLabel.setFont(new Font("Sansserif", Font.PLAIN, 10));
gameFinalResultLabel.setFont(new Font("Sansserif", Font.PLAIN, 10));
// [MC] Sets the label title alignment.
rollNumberLabel.setHorizontalAlignment(JLabel.CENTER);
rollResultLabel.setHorizontalAlignment(JLabel.CENTER);
rollPointsLabel.setHorizontalAlignment(JLabel.CENTER);
gameFinalResultLabel.setHorizontalAlignment(JLabel.CENTER);
// [MC] Sets the label border format.
//rollNumberLabel.setBorder(loweredetched);
//rollResultLabel.setBorder(loweredetched);
//rollPointsLabel.setBorder(loweredetched);
//gameFinalResultLabel.setBorder(loweredetched);
// ======================================================================
// [MC] Sets the text field font.
rollNumberTextField.setFont(new Font("Sansserif", Font.PLAIN, 16));
rollResultTextField.setFont(new Font("Sansserif", Font.PLAIN, 16));
rollPointsTextField.setFont(new Font("Sansserif", Font.PLAIN, 16));
gameFinalResultTextField.setFont(new Font("Sansserif", Font.BOLD, 16));
// [MC] Sets the text field text alignment.
rollNumberTextField.setHorizontalAlignment(JTextField.CENTER);
rollResultTextField.setHorizontalAlignment(JTextField.CENTER);
rollPointsTextField.setHorizontalAlignment(JTextField.CENTER);
gameFinalResultTextField.setHorizontalAlignment(JTextField.CENTER);
// [MC] Sets the text field text colour.
gameFinalResultTextField.setForeground(Color.blue);
// [MC] Sets the text field to not editable.
rollNumberTextField.setEditable(false);
rollResultTextField.setEditable(false);
rollPointsTextField.setEditable(false);
gameFinalResultTextField.setEditable(false);
// ======================================================================
// [MC] Gets sounds.
winClip = getAudioClip(getCodeBase(), "bunny1.au");
looseClip = getAudioClip(getCodeBase(), "bunny1.au");
// ======================================================================
// [MC] Sets the layout manager (GridBagLayout) for this container.
this.setLayout(new GridBagLayout());
// [MC] Creates new instance of GridBagConstraints.
GridBagConstraints c = new GridBagConstraints();
// [MC] Makes the component fill its display area entirely.
c.fill = GridBagConstraints.BOTH;
// [MC] Layouts components.
// [MC] Adds the component newGameButton to this container.
c.gridx = 0; // [MC] Makes this component the leftmost column (column 1).
c.gridy = 0; // [MC] Makes this component the uppermost row (row 1).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 2; // [MC] Specifies the number of columns the component uses (2 columns).
this.add(newGameButton, c); // [MC] Adds the button newGameButton.
// [MC] Adds the component rollButton to this container.
c.gridx = 2; // [MC] Makes this component the third column from left (column 3).
c.gridy = 0; // [MC] Make this component the uppermost row (row 1).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 rows).
c.gridwidth = 2; // [MC] Specifies the number of columns the component uses (2 columns).
this.add(rollButton, c); // [MC] Adds the button rollButton.
// [MC] Adds the component rollNumberLabel to this container.
c.gridx = 0; // [MC] Makes this component the leftmost column (column 1).
c.gridy = 3; // [MC] Makes this component the third row from top (row 3).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
c.weightx = 0.1; // [MC] Requests any extra vertical (column) space.
this.add(rollNumberLabel, c); // [MC] Adds the label rollNumberLabel.
// [MC] Adds the component rollResultLabel to this container.
c.gridx = 1; // [MC] Makes this component the second column from left (column 2).
c.gridy = 3; // [MC] Makes this component the third row from top (row 3).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(rollResultLabel, c); // [MC] Adds the label rollResultLabel.
// [MC] Adds the component rollPointsLabel to this container.
c.gridx = 2; // [MC] Makes this component the third column from left (column 3).
c.gridy = 3; // [MC] Makes this component the third row from top (row 3).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(rollPointsLabel, c); // [MC] Adds the label rollPointsLabel.
// [MC] Adds the component gameFinalResultLabel to this container.
c.gridx = 3; // [MC] Makes this component the fourth column from left (column 4).
c.gridy = 3; // [MC] Makes this component the third row from top (row 3).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(gameFinalResultLabel, c); // [MC] Adds the label gameFinalResultLabel.
// [MC] Adds the component rollNumberTextField to this container.
c.gridx = 0; // [MC] Makes this component the leftmost column (column 1).
c.gridy = 4; // [MC] Makes this component the fourth row from top (row 4).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
c.weightx = 0.1; // [MC] Requests any extra vertical (column) space.
this.add(rollNumberTextField, c); // [MC] Adds the text field rollNumberTextField.
// [MC] Adds the component rollResultTextField to this container.
c.gridx = 1; // [MC] Makes this component the second column from left (column 2).
c.gridy = 4; // [MC] Makes this component the fourth row from top (row 4).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(rollResultTextField, c); // [MC] Adds the text field rollResultTextField.
// [MC] Adds the component rollPointsTextField to this container.
c.gridx = 2; // [MC] Makes this component the third column from left (column 3).
c.gridy = 4; // [MC] Makes this component the fourth row from top (row 4).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(rollPointsTextField, c); // [MC] Adds the text field rollPointsTextField.
// [MC] Adds the component gameFinalResultTextField to this container.
c.gridx = 3; // [MC] Makes this component the fourth column from left (column 4).
c.gridy = 4; // [MC] Makes this component the fourth row from top (row 4).
c.gridheight = 1; // [MC] Specifies the number of rows the component uses (1 row).
c.gridwidth = 1; // [MC] Specifies the number of columns the component uses (1 column).
this.add(gameFinalResultTextField, c); // [MC] Adds the text field gameFinalResultTextField.
// [MC] Adds the component myLeftDie to this container.
c.gridx = 0; // [MC] Makes this component the leftmost column (column 1).
c.gridy = 1; // [MC] Makes this component the second row from top (row 2).
c.gridheight = 2; // [MC] Specifies the number of rows the component uses (2 rows).
c.gridwidth = 2; // [MC] Specifies the number of columns the component uses (2 columns).
c.weightx = 1.0; // [MC] Requests any extra vertical (column) space.
c.weighty = 1.0; // [MC] Requests any extra horizontal (row) space.
this.add(myLeftDie, c); // [MC] Adds the component myLeftDie.
// [MC] Adds the component myRightDie to this container.
c.gridx = 2; // [MC] Makes this component the third column from left (column 3).
c.gridy = 1; // [MC] Makes this component the second row from top (row 2).
c.gridheight = 2; // [MC] Specifies the number of rows the component uses (2 rows).
c.gridwidth = 2; // [MC] Specifies the number of columns the component uses (2 column).
c.weightx = 1.0; // [MC] Requests any extra column (vertical) space.
c.weighty = 1.0; // [MC] Requests any extra horizontal (row) space.
this.add(myRightDie, c); // [MC] Adds the component myRightDie.
} // [MC] end constructor
// ======================================================================
// [MC] Private class RollListener
// [MC] Inner listener class for rollButton.
private class RollListener implements ActionListener
public void actionPerformed(ActionEvent e)
// [MC] Rolls the dice.
myLeftDie.roll(); // [MC] Rolls left die.
myRightDie.roll(); // [MC] Rolls right die.
finalResult = 0; // [MC] If result = 0 then game is not over.
rolls++; // [MC] Increments the number of rolls.
// [MC] Displays the roll number.
rollNumberTextField.setText(" " + rolls + " ");
// [MC] Returns the result (number of dots) of last roll.
resultLeft = myLeftDie.getValue(); // [MC] Returns the result of the left die.
resultRight = myRightDie.getValue(); // [MC] Returns the result of the right die.
result = resultLeft + resultRight; // [MC] Returns the total result of dice.
// [MC] Displays the result of last roll.
rollResultTextField.setText(" " + result + " ");
// [MC] Sets the rules for the game.
// [MC] Sets the rules for the first roll of dice.
if (first)
// [MC] If the result is 2, 3 or 12 on the first throw, the player loses.
if (result == 2 || result == 3 || result == 12)
finalResult = 2; // [MC] If result = 2 then the player loses and the game is over.
gameFinalResultTextField.setText("LOOSE");
Toolkit.getDefaultToolkit().beep();
rollButton.setEnabled(false); // [MC] Disable rollButton.
first = true; // [MC] Game over after first roll.
// [MC] If the result is 7 or 11 on the first throw, the player wins.
else if (result == 7 || result == 11)
finalResult = 1; // [MC] If result = 1 then the player wins and the game is over.
gameFinalResultTextField.setText("WIN");
//Toolkit.getDefaultToolkit().beep();
rollButton.setEnabled(false); // [MC] Disable rollButton.
first = true; // [MC] Game over after first roll.
// [MC] If the player didn`t win or lose then the results 4, 5, 6, 8, 9 or 10 become the player`s point.
else if (result == 4 || result == 5 || result == 6 || result == 8 || result == 9 || result == 10);
// [MC] Returns the player`s points.
points = result; // [MC] Returns the player`s points.
// [MC] Displays the player`s points.
rollPointsTextField.setText(" " + points + " ");
first = false; // [MC] Game is not over after first roll.
// [MC] Sets the rules for the next rolls (from second roll onwards) of the dice.
// [MC] If the result is 7, then the player loses.
else if (result == 7)
finalResult = 2; // [MC] If result = 2 then the player loses and the game is over.
gameFinalResultTextField.setText("LOOSE");
Toolkit.getDefaultToolkit().beep();
rollButton.setEnabled(false); // [MC] Disable rollButton.
// [MC] If the result is equal to the player`s point, then the player wins.
else if (result == points)
finalResult = 1; // [MC] If result = 1 then the player wins and the game is over.
gameFinalResultTextField.setText("WIN");
winClip.play();
//Toolkit.getDefaultToolkit().beep();
rollButton.setEnabled(false); // [MC] Disable rollButton.
} // [MC] End public void actionPerformed(ActionEvent e).
} // [MC] End private class RollListener.
// ======================================================================
// [MC] Private class NewGameListener
// [MC] Inner listener class for newGameButton.
private class NewGameListener implements ActionListener
public void actionPerformed(ActionEvent e)
// [MC] Initialises instance variables.
first = true; // [MC] Initialise dice roll to first roll.
rolls = 0; // [MC] Initialises number of rolls to 0.
// [MC] Initialises text fields.
rollResultTextField.setText("");
rollNumberTextField.setText("");
rollPointsTextField.setText("");
gameFinalResultTextField.setText("");
rollButton.setEnabled(true); // [MC] Enable rollButton.
} // [MC] End public void actionPerformed(ActionEvent e).
}// [MC] End private class NewGameListener implements ActionListener.
} // [MC] End public class DicePanel extends JPanel.make a backup copy before these changes
it now compiles, but I haven't run/tested it
changed constructor to init(), extending Applet, not JApplet
// [MC] Public class DiceApplet
public class DiceApplet extends Applet
// [MC] Constructor.
public void init()
// [MC] Sets the contentPane property. This method is called by the constructor.
add(new DicePanel());
}then the 'error lines' become
winClip = ((Applet)getParent()).getAudioClip(((Applet)getParent()).getCodeBase(), "bunny1.au");
looseClip = ((Applet)getParent()).getAudioClip(((Applet)getParent()).getCodeBase(), "bunny1.au");there might be additional problems when you run/test it, but this might get you started -
JAX-WS web service - "Cannot find dispatch method"
I'm getting the same error response every time I send a request to my JAX-WS web service:
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
</ns2:Fault>I've tried using JAX-WS RI 2.1.7 and 2.2 on my Tomcat server, but both return the same error response. It will return the WSDL just fine (when "?wsdl" is appended to the endpoint URL). I used "wsimport" to generate the necessary Java classes from my WSDL--it used JAX-WS RI 2.1.6 (the one included with the JDK I guess) to generate the Java source files.
Other people online have had similar problems, but never with the SOAP element "{http://www.w3.org/2003/05/soap-envelope}Envelope", always with things specific to their WSDLs like "{}reqParams" or "{http://www.telekom.at/eai/WSToCramerCSIRead}CSIRead". I set a debug breakpoint at the start of my SIB method and it doesn't even get that far.
Any ideas? Thanks for your help.
WSDL:
<?xml version="1.0" encoding="utf-8"?>
<!-- This wsdl file is for an XDS-I.b Imaging Document Source Actor
It can be used 'as is' to support Imaging Document Source Retrieve Imaging Document Set Transaction
using Synchronous Web Services.
-->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ihe="urn:ihe:iti:xds-b:2007" xmlns:iherad="urn:ihe:rad:xdsi-b:2009" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
targetNamespace="urn:ihe:rad:xdsi-b:2009" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" name="ImagingDocumentSource">
<documentation>IHE XDS-I.b Imaging Document Source</documentation>
<types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:ihe:iti:xds-b:2007"
xmlns:ihe="urn:ihe:iti:xds-b:2007">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/IHE/XDS.b_DocumentRepository.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:ihe:rad:xdsi-b:2009"
xmlns:ihe="urn:ihe:iti:xds-b:2007"
xmlns:iherad="urn:ihe:rad:xdsi-b:2009">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/IHE/XDSI.b_ImagingDocumentSource.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/rs.xsd"/>
</xsd:schema>
<!-- While no elements are directly used from these schema in the WSDL,
they need to be present here in order for
code generating toolkits to work properly -->
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/lcm.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/rim.xsd"/>
</xsd:schema>
</types>
<message name="RetrieveImagingDocumentSetRequest_Message">
<documentation>Retrieve Imaging Document Set</documentation>
<part name="body" element="iherad:RetrieveImagingDocumentSetRequest"/>
</message>
<message name="RetrieveDocumentSetResponse_Message">
<documentation>Retrieve Document Set Response</documentation>
<part name="body" element="ihe:RetrieveDocumentSetResponse"/>
</message>
<portType name="ImagingDocumentSource_PortType">
<operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
<input message="iherad:RetrieveImagingDocumentSetRequest_Message"
wsaw:Action="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
<output message="iherad:RetrieveDocumentSetResponse_Message"
wsaw:Action="urn:ihe:iti:2007:RetrieveDocumentSetResponse"/>
</operation>
</portType>
<binding name="ImagingDocumentSource_Binding" type="iherad:ImagingDocumentSource_PortType">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
<soap12:operation soapAction="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
</binding>
<service name="ImagingDocumentSource_Service">
<port name="ImagingDocumentSource_Port_Soap12" binding="iherad:ImagingDocumentSource_Binding">
<soap12:address location="http://localhost:8080/webservice-test/ridsService"/>
</port>
</service>
</definitions>
Request:
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:urn="urn:ihe:rad:xdsi-b:2009"
xmlns:urn1="urn:ihe:iti:xds-b:2007"
xmlns:a="http://www.w3.org/2005/08/addressing">
<soap:Header>
<a:Action soap:mustUnderstand="1">urn:ihe:rad:2009:RetrieveImagingDocumentSet</a:Action>
<a:MessageID>urn:uuid:0fbfdced-6c01-4d09-a110-2201afedaa02</a:MessageID>
<a:ReplyTo soap:mustUnderstand="1">
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To>http://localhost:8080/webservice-test/ridsServer</a:To>
</soap:Header>
<soap:Body>
<urn:RetrieveImagingDocumentSetRequest>
<!--1 or more repetitions:-->
<urn:StudyRequest studyInstanceUID="test1">
<!--1 or more repetitions:-->
<urn:SeriesRequest seriesInstanceUID="test2">
<!--1 or more repetitions:-->
<urn1:DocumentRequest>
<!--Optional:-->
<urn1:HomeCommunityId>test3</urn1:HomeCommunityId>
<urn1:RepositoryUniqueId>test4</urn1:RepositoryUniqueId>
<urn1:DocumentUniqueId>test5</urn1:DocumentUniqueId>
</urn1:DocumentRequest>
</urn:SeriesRequest>
</urn:StudyRequest>
<urn:TransferSyntaxUIDList>
<!--1 or more repetitions:-->
<urn:TransferSyntaxUID>?</urn:TransferSyntaxUID>
</urn:TransferSyntaxUIDList>
</urn:RetrieveImagingDocumentSetRequest>
</soap:Body>
</soap:Envelope>
Response (HTTP 500):
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
</ns2:Fault>I posted here to benefit anybody who is looking for a solution.
The solution is to use WebServiceContext to get ServletContext, then use ServletContext to get parameters defined in web.xml.
@Resource private WebServiceContext m_wsCxt;
Then in method
SOAPMessageContext soapCxt = (SOAPMessageContext) m_wsCxt.getMessageContext();
ServletContext servletCxt = (ServletContext) soapCxt.get(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT);
} -
Pi 7.1: Exception when contacting WS - "Cannot find dispatch method"
Hi All,
I have been receiving the following error message as shown in ICM log, where the trace level is set to 3, when a request is sent to a Web Server.
...<SOAP:Faultmlns:SOAP='htt//schemas.xmlsp.org/soap/envope/'><faultco>SOAP:Client</ultcode><faultring>Cannot find dispatch method for arg0</faultstring/SOAP:Fault>..
No error message is returned using a soap client (as soapUI), after loading the same wsdl file.
About the configuration of the SOAP Communication Channel, no conversion parameter have been set and no SOAP Action has been set because the seme exception is also raised by setting "arg0" as SOAP Action.
The structure of the response message is like this.
<Field1>
<arg0>
<field2>
<field3>
Any help will be well appreciated.
Many thanks in advacne for your kind support.
Regards,
GiovanniHi All !!
This problem has been solved with the last SAP_XI* Patches.
We install:
SAP_XIESR SP06 Patch 11
SAP_XIAF SP06 Patch 11
SAP_XITOOL SP06 Patch 10
and the problem...... SOLVED !!!
Regards,
Juan. -
I cannot find the method in this interface!
Is service an interface and query its method in the following scrips? But I cannot find the method query in this interface. What is the function of new?
Map map = service.query(new FreeMemAgent(), null);
Thank you
Edited by: jetq on Jun 7, 2009 9:05 PMHi Frank,
service is a reference variable and refers to an instance of a class that implements the query() method that returns a reference to an instance of a class that implements the Map interface. If service happens to refer to an instance of a class that implements the InvocationService interface, you can find the Coherence 3.4.2 documentation of the method at InvocationService. The new keyword is a Java operator that creates an object. Continuing with the assumption that service refers to an instance of a class that implements the InvocationService interface, the FreeMemAgent class must implement the Invocable interface. A reference to a "new" FreeMemAgent object is being passed to the query() method.
Regards,
Harv -
Error to invoke service by soap : Cannot find dispatch method
i m using jdevelopper 11g and oracle 10g , i write a fonction soap like that:
-- create or replace function get_naissance(id in varchar2, url in varchar2) return varchar2 as soap_request varchar2(30000);
declare
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
resp XMLType;
begin
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>
*<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://communes/"> <env:Header/>*
*<env:Body> <ns1:getNaissanceFindById> <arg0>272001</arg0> </ns1:getNaissanceFindById> </env:Body> </env:Envelope> ';*
http_req:= utl_http.begin_request ( 'http://localhost:7101/naissances-Naissances-webapp/naissanceWS' , 'POST' , 'HTTP/1.1' );
utl_http.set_header(http_req, 'Content-Type', 'application/soap+xml');
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'SOAPAction', '');
utl_http.write_text(http_req, soap_request);
http_resp:= utl_http.get_response(http_req);
utl_http.read_text(http_resp, soap_respond);
utl_http.end_response(http_resp);
resp:= XMLType.createXML(soap_respond);
DBMS_OUTPUT.PUT_LINE ('naissance is : '||soap_respond);
resp:= resp.extract('//ns2:getNaissanceFindByIdResponse/return' , 'xmlns:ns2="http://communes/"' );
-- dbms_output.put_line('naissance: '||resp.getStringVal());
-- return resp.getStringVal();
end;
there generate an error
*naissance is : <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"><S:Body><S:Fault xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/"><S:Code><S:Value>S:Sender</S:Value></S:Code><S:Reason><S:Text xml:lang="fr">Cannot find dispatch method for {http://communes/}getNaissanceFindById</S:Text></S:Reason></S:Fault></S:Body></S:Envelope>*
the method getNaissanceFindById is correctly implement , the web service run correctly :
*/** <code>select o from Naissance o where o.naissanceid like :id</code> */*
*@RequestWrapper(className = "jaxws.overloaded.GetNaissanceFindById2")*
*@ResponseWrapper(className = "jaxws.overloaded.GetNaissanceFindById2_Response")*
*@WebMethod(operationName = "getNaissanceFindById_2")*
*public Naissance getNaissanceFindById(String id) {*
RETURN (Naissance)em.createNamedQuery("Naissance.findById").setParameter("id", id).getSingleResult();
the result when i put id= 272001 when the service is running :
*<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://communes/">*
*<env:Header/>*
*<env:Body>*
*<ns1:getNaissanceFindById_2>*
*<arg0>271002</arg0>*
*</ns1:getNaissanceFindById_2>*
*</env:Body>*
*</env:Envelope>*
*<?xml version = '1.0' encoding = 'UTF-8'?>*
*<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">*
*<S:Body>*
*<ns2:getNaissanceFindById_2Response xmlns:ns2="http://communes/">*
*<return>*
*<addrid>1</addrid>*
*<communeid>27100</communeid>*
*<datnais>1962-11-09 00:00:00.0</datnais>*
*<gender>f</gender>*
*<idMere>270000</idMere>*
*<idPere>270000</idPere>*
*<naissanceid>271002</naissanceid>*
*<nom>amamra</nom>*
*<objectVersionId>0</objectVersionId>*
*<prenom>zahia</prenom>*
*</return>*
*</ns2:getNaissanceFindById_2Response>*
*</S:Body>*
*</S:Envelope>*
so i need your help to resolve this error it's amazing , if you want athers details i 'll give u
thank youPlease note you're on the SQL Developer forum, so I doubt you'll get answers here...
Have fun,
K. -
Cannot find symbol:constructor
here is my code...
package org.tiling.didyoumean;
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.BufferedReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.spell.SpellChecker;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.commons.cli.ParseException;
public class spell {
public static void main(String args[]){
System.out.println("hi");
String spellIndex = "C://opt//lucene//didyoumean//indexes//spell";
SpellChecker spellChecker = new SpellChecker(spellIndex);
String[] similarWords = spellChecker.suggestSimilar("jva", 1);
System.out.println(similarWords[0]);
}and the error i am kept getting is
C:\Documents and Settings\sumit-i\Desktop\didyoumean\didyoumean-1.0\src\java>javac org/tiling/didyoumean/spell.java
org\tiling\didyoumean\spell.java:29: cannot find symbol
symbol : constructor SpellChecker(java.lang.String)
location: class org.apache.lucene.search.spell.SpellChecker
SpellChecker spellChecker = new SpellChecker(spellIndex);
^
1 errorany ideas..plzzhere is the Directory.java,....please help me if you can....actually i have a deadline to submit this..but i am not getting this...
package org.apache.lucene.store;
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
import java.io.IOException;
/** A Directory is a flat list of files. Files may be written once, when they
* are created. Once a file is created it may only be opened for read, or
* deleted. Random access is permitted both when reading and writing.
* <p> Java's i/o APIs not used directly, but rather all i/o is
* through this API. This permits things such as: <ul>
* <li> implementation of RAM-based indices;
* <li> implementation indices stored in a database, via JDBC;
* <li> implementation of an index as a single file;
* </ul>
* Directory locking is implemented by an instance of {@link
* LockFactory}, and can be changed for each Directory
* instance using {@link #setLockFactory}.
* @author Doug Cutting
public abstract class Directory {
/** Holds the LockFactory instance (implements locking for
* this Directory instance). */
protected LockFactory lockFactory;
/** Returns an array of strings, one for each file in the
* directory. This method may return null (for example for
* {@link FSDirectory} if the underlying directory doesn't
* exist in the filesystem or there are permissions
* problems).*/
public abstract String[] list()
throws IOException;
/** Returns true iff a file with the given name exists. */
public abstract boolean fileExists(String name)
throws IOException;
/** Returns the time the named file was last modified. */
public abstract long fileModified(String name)
throws IOException;
/** Set the modified time of an existing file to now. */
public abstract void touchFile(String name)
throws IOException;
/** Removes an existing file in the directory. */
public abstract void deleteFile(String name)
throws IOException;
/** Renames an existing file in the directory.
* If a file already exists with the new name, then it is replaced.
* This replacement is not guaranteed to be atomic.
* @deprecated
public abstract void renameFile(String from, String to)
throws IOException;
/** Returns the length of a file in the directory. */
public abstract long fileLength(String name)
throws IOException;
/** Creates a new, empty file in the directory with the given name.
Returns a stream writing this file. */
public abstract IndexOutput createOutput(String name) throws IOException;
/** Returns a stream reading an existing file. */
public abstract IndexInput openInput(String name)
throws IOException;
/** Returns a stream reading an existing file, with the
* specified read buffer size. The particular Directory
* implementation may ignore the buffer size. Currently
* the only Directory implementations that respect this
* parameter are {@link FSDirectory} and {@link
* org.apache.lucene.index.CompoundFileReader}.
public IndexInput openInput(String name, int bufferSize) throws IOException {
return openInput(name);
/** Construct a {@link Lock}.
* @param name the name of the lock file
public Lock makeLock(String name) {
return lockFactory.makeLock(name);
* Attempt to clear (forcefully unlock and remove) the
* specified lock. Only call this at a time when you are
* certain this lock is no longer in use.
* @param name name of the lock to be cleared.
public void clearLock(String name) throws IOException {
if (lockFactory != null) {
lockFactory.clearLock(name);
/** Closes the store. */
public abstract void close()
throws IOException;
* Set the LockFactory that this Directory instance should
* use for its locking implementation. Each * instance of
* LockFactory should only be used for one directory (ie,
* do not share a single instance across multiple
* Directories).
* @param lockFactory instance of {@link LockFactory}.
public void setLockFactory(LockFactory lockFactory) {
this.lockFactory = lockFactory;
lockFactory.setLockPrefix(this.getLockID());
* Get the LockFactory that this Directory instance is
* using for its locking implementation. Note that this
* may be null for Directory implementations that provide
* their own locking implementation.
public LockFactory getLockFactory() {
return this.lockFactory;
* Return a string identifier that uniquely differentiates
* this Directory instance from other Directory instances.
* This ID should be the same if two Directory instances
* (even in different JVMs and/or on different machines)
* are considered "the same index". This is how locking
* "scopes" to the right index.
public String getLockID() {
return this.toString();
* Copy contents of a directory src to a directory dest.
* If a file in src already exists in dest then the
* one in dest will be blindly overwritten.
* @param src source directory
* @param dest destination directory
* @param closeDirSrc if <code>true</code>, call {@link #close()} method on source directory
* @throws IOException
public static void copy(Directory src, Directory dest, boolean closeDirSrc) throws IOException {
final String[] files = src.list();
if (files == null)
throw new IOException("cannot read directory " + src + ": list() returned null");
byte[] buf = new byte[BufferedIndexOutput.BUFFER_SIZE];
for (int i = 0; i < files.length; i++) {
IndexOutput os = null;
IndexInput is = null;
try {
// create file in dest directory
os = dest.createOutput(files);
// read current file
is = src.openInput(files[i]);
// and copy to dest directory
long len = is.length();
long readCount = 0;
while (readCount < len) {
int toRead = readCount + BufferedIndexOutput.BUFFER_SIZE > len ? (int)(len - readCount) : BufferedIndexOutput.BUFFER_SIZE;
is.readBytes(buf, 0, toRead);
os.writeBytes(buf, toRead);
readCount += toRead;
} finally {
// graceful cleanup
try {
if (os != null)
os.close();
} finally {
if (is != null)
is.close();
if(closeDirSrc)
src.close();
please let me know....if you any idea about it..
thanks -
Help a Beginner? cannot find symbol error?
class Box {
double width;
double height;
double depth;
Box(Box ob) {
width = ob.width;
height = ob.height;
depth = ob.depth;
Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
double volume() {
return width * height * depth;
class BoxWeight extends Box {
double weight;
BoxWeight(double w, double h, double d, double m) {
width = w;
height = h;
depth = d;
weight = m;
class DemoBoxWeight {
public static void main(String[] args) {
BoxWeight mybox1 = new BoxWeight(10, 20, 35, 34);
double vol;
vol = mybox1.volume();
System.out.println("Weight of mybox1 is " + mybox1.weight);
okay, this is basically from a book, but when I compile it in TextPad, it reads
C:\Documents and Settings\Guest 1\Desktop\EPGY C015\Box\Box.java:27: cannot find symbol
symbol : constructor Box()
location: class Box
BoxWeight(double w, double h, double d, double m) {
^
1 error
Tool completed with exit code 1
Why is that and how can I fix it? :PWhenever you extend a class (here you're extending Box with BoxWeight), and create the subclass's constructor, the parent class's (or super class's) constructor gets called first whether it is explicitly called or not. So here in the BoxWeight constructor, the Box constructor is implicitly called:
BoxWeight(double w, double h, double d, double m) {
// even though you don't specify it, the Box() constructor is called here.
// it's as if you have here the call:
super();
width = w;
height = h;
depth = d;
weight = m;
}If you don't specify the super(), it get's implicitly called as the first call in the BoxWeight constructor. Notice that the implicit constructor has no parameters. Since Box does not have a constructor without parameters, this will throw an error. To get around this, you should explicitly call the super constructor with its proper parameters as the first method called in your BoxWeight constructor:
BoxWeight(double w, double h, double d, double m) {
super(w, h, d); // *** here ***
width = w;
height = h;
depth = d;
weight = m;
} -
Cannot find symbol error. don't know why
Hello, I'm trying to write a button bean in the shape of a triangle but netbeans keeps throwing up a cannot find symbol error at my g.fillPolygon line. I've declared the number of sides and x and y coords.
Any ideas as to why this is happening would be greatly appreciated.
Here's the code:
package trianglebutton;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class TriangleButtonBean extends JButton implements Serializable
private TriangleButtonBean graphicPolygon;
private Color buttonColour;
private Color textColour;
private String caption;
private int sides = 3;
private int size = 30;
private int centerX = 100;
private int centerY = 100;
public TriangleButtonBean()
super();
setPreferredSize(new Dimension(50,50));
setBorder(null);
buttonColour = Color.red;
textColour = Color.black;
caption = "";
public TriangleButtonBean(String acaption)
super();
setPreferredSize(new Dimension(50,50));
setBorder(null);
caption = acaption;
public void paintComponent(Graphics g)
String astring;
super.paintComponent(g);
g.setColor(buttonColour);
int centerX = graphicPolygon.getCenterX(); //Invoking getCenterX method
int centerY = graphicPolygon.getCenterY(); //Invoking getCenterY method
//int Xcoordinates [] = graphicPolygon.getPolygonXCoordinates(sides,size);
//int Ycoordinates [] = graphicPolygon.getPolygonYCoordinates(sides,size);
g.drawPolygon(centerX,centerY, sides); //Draw polygon using xcoord,ycoord and number of sides
g.fillPolygon(centerX,centerY, sides); //Fill poly
g.setColor(textColour);
if (caption.length() > 1)
astring = caption.substring(0,1);
else
astring = caption;
g.drawString(astring,22,27);
public void setButtonColour(Color acolour)
buttonColour = acolour;
repaint();
public Color getButtonColour()
return buttonColour;
public void setTextColour(Color acolour)
textColour = acolour;
repaint();
public Color getTextColour()
return textColour;
public void setCaption(String acaption)
caption = acaption;
repaint();
public String getCaption()
return caption;
// public void setCenterX(int xcoords)
// centerX = xcoords;
public int getCenterX()
return centerX;
// public void setCenterY(int ycoords)
// centerY = ycoords;
public int getCenterY()
return centerY;
public static void main(String[] args){
TriangleButtonBean agui = new TriangleButtonBean();
} // End of classPlease READ, STUDY, and UNDERSTAND the error messages, they are telling you exactly what the problem is:
. . .\TriangleButtonBean.java:56: cannot find symbol
symbol : method drawPolygon(int,int,int)
location: class java.awt.Graphics
g.drawPolygon(centerX,centerY, sides); //Draw polygon using xcoord,ycoord and number of sides
^
. . .\TriangleButtonBean.java:57: cannot find symbol
symbol : method fillPolygon(int,int,int)
location: class java.awt.Graphics
g.fillPolygon(centerX,centerY, sides); //Fill poly
^
2 errors
Process javac exited with code 1In both cases the messages ar telling you that the methods
drawPolygon(int,int,int)
method fillPolygon(int,int,int)
can't be found in java.awt.Graphics
And if you look at the documentation, you see that is indeed the problem - the first two arguments are int arrrays, not int.
Fix the method signature or use something else.
Maybe you are looking for
-
As the title says, iTunes keeps opening itself at random times, and it's getting really annoying, is there a way to set iTunes not to open unless I want to open it?
-
Chrome gone bad on OS X?
Hey Guys, Chrome just started mis-behaving using OS X. This started last night, it almost acts like a TCP/IP stack issue, it doesn't seem to be able to find web pages. After a while it times out. This has been rock solid until then. I have rebooted a
-
Launching a new browser from webGUI
Is using mixed mode the best/easiest way to launch a new browswer passing parameters during a webGUI session? Is there a simple way directly from ABAP? I tried using embedded JavaScript in ABAP, but didn't work. Thanks, Brian
-
CS5 Premium installed without a problem but when I run Flash, Dreamweaver, etc the "Error 5" message popup. At times when I launch Photoshop, Dreamweaver the 30-day trial version prompts for a serial, but will not accept the serial number for the su
-
TS1368 getting the error 0x80092013 when trying to connect to the store to buy music
getting the error 0x80092013 when trying to connect to the store to buy music