Wsdlc with jaxws - missing method on bean

One, at least, of the POJOs created by "wsdlc" for JAX-WS is missing a "setter" method. The "getter" exists. The corresponding "setter" is missing.
I generated a Web Service from a WSDL file using "wsdlc". I generated the JAX-RPC and JAX-WS Web Service. I compared one of the POJOs. The JAX-RPC version has the correct "getter" and corresponding "setter" methods. The JAX-WS version is missing a "setter". The code below is missing: setResponseStatusMessage.
Is there a bug in "wsdlc" related to generics?
package com.company.xml.location.v1.types.intf;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
* Common structure used to return the overall status of a request and an optional array of error, warning or informational messages
* <p>Java class for ResponseStatusType complex type.
* <p>The following schema fragment specifies the expected content contained within this class.
* <pre>
* <complexType name="ResponseStatusType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="returnCode" type="{http://www.w3.org/2001/XMLSchema}int"/>
* <element name="responseStatusMessage" type="{http://xml.company.com/location/v1/types/intf}ResponseStatusMessageType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ResponseStatusType", propOrder = {
"returnCode",
"responseStatusMessage"
public class ResponseStatusType {
protected int returnCode;
protected List<ResponseStatusMessageType> responseStatusMessage;
* Gets the value of the returnCode property.
public int getReturnCode() {
return returnCode;
* Sets the value of the returnCode property.
public void setReturnCode(int value) {
this.returnCode = value;
* Gets the value of the responseStatusMessage property.
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the responseStatusMessage property.
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getResponseStatusMessage().add(newItem);
* </pre>
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ResponseStatusMessageType }
public List<ResponseStatusMessageType> getResponseStatusMessage() {
if (responseStatusMessage == null) {
responseStatusMessage = new ArrayList<ResponseStatusMessageType>();
return this.responseStatusMessage;
}

1) Put an "action" in your form tag. The action should be either
a JSP or a servlet. e.g. <FORM name="createPerson" action="/servlet/process" method="post">2) If you use a JSP for processing then move your <jsp:useBean>
tag to the processing JSP. If you use a servlet then import the bean
class and instantiate the class.
import com.oxbow.*;
PersonBean person = new PersonBean();3) Get the parameters passed:
String firstName = request.getParameter(firstName);
String lastName = request.getParameter(lastName);Be sure to check for nulls and blanks.
4) call your create method
person.create(lastName,firstName);

Similar Messages

  • Help with JSP / Static methods in beans...

    Hi:
    I am creating several javabeans as part of my application. Is it ok, to make all of them static (no global variables are used) and access in JSP's and Servlets as XXBean.method(var1, var 1). Is this a problem ? (vs creating a new XXBean and using it in every page/servlet).
    I have gut feeling that static methods are better and give better memory usage and performance - as oppose in other scenario I am creating a new Bean for every page access - could not verify. and not sure not creating (new Bean) would give any problems.
    Thanks for sharing.

    No, static methods are not what you want. Just set the "scope" on your use-bean tag to "application".
    <jsp:useBean id="xbean" class="xpackage.XXBean" scope="application" />Alternatively, if what you are trying to do is a pure "function library", then create a tag lib, and add the function definitions like this:
    <function>
         <name>someMethod</name>
         <function-class>xpackage.XXBean</function-class>
         <function-signature>
         java.lang.String someMethod( java.lang.String )
         </function-signature>
    </function>There is a fairly concise description of how to do this at
    http://java.boot.by/wcd-guide/ch07s04.html

  • Can Entity Bean with Home Business Method replace Stateless Session Bean?

    Since Entity Bean can have business methods in the Home Interface, can we use Entity Bean with Home Business Methods to replace Stateless Session Bean?
    I am assuming we can get better performance by doing this since the overhead of creating Component Object can be avoided as compared to stateless session beans.

    Requires-new makes the container start a new transaction. Only use that flag
              at the point that you are certain that a NEW transaction should BEGIN. I
              suggest you use Required as your default for all methods in the application,
              and only change that to anything else when you are certain that you should.
              Peace,
              Cameron Purdy
              Tangosol Inc.
              << Tangosol Server: How Weblogic applications are customized >>
              << Download now from http://www.tangosol.com/download.jsp >>
              "A.J,LEE" <[email protected]> wrote in message
              news:3ba5adb2$[email protected]..
              >
              > I find it result in "dead lock"
              > when I call RequiresNew attributed CMP method in session Bean.
              > Then, Is it possible to use CMP which is set with "RequiresNew"
              transaction attribute?
              >
              > I Wonder why.
              >
              > Thanx in advance.
              

  • Problems with loading native library/missing methods: no ttJdbcCS1121

    Hi guys,
    Im getting this problem in glassfish 2.1, but in glassfish 3 or in tomcat, i dont get this problem. (Windows)
    Any thoughts?
    java.sql.SQLException: Problems with loading native library/missing methods: no ttJdbcCS1121 in java.library.path
    at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1750)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:305)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:161)
    at java.sql.DriverManager.getConnection(DriverManager.java:525)
    at java.sql.DriverManager.getConnection(DriverManager.java:193)
    at com.summitinvt.mdaq.db.handler.DBConnector.getConnection(DBConnector.java:108)
    at com.summitinvt.mdaq.db.handler.DBConnector.initiateConnection(DBConnector.java:101)
    at com.summitinvt.mdaq.db.handler.DBConnector.<init>(DBConnector.java:34)
    at com.summitinvt.mdaq.db.handler.DBConnector.<init>(DBConnector.java:14)
    at com.summitinvt.mdaq.db.handler.DBConnector$DBConnectorUtil.<clinit>(DBConnector.java:24)
    at com.summitinvt.mdaq.db.handler.DBConnector.getInstance(DBConnector.java:28)
    at com.summitinvt.mdaq.rats.server.CommunicatorImpl.getPnLByCurrency(CommunicatorImpl.java:1074)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    regards
    John

    A similar problem was reported before on this Forum - see
    Re: not able create connection to timesten
    checking the Release Notes I can see 11.2.1.8.0 has been tested against Glassfish 3 but I
    can't see any mention about Glassfish 2 in the v7 or v11 Release Notes (albeit only on a quick
    search).
    In my full install on XP, ttJdbcCS1121.dll is in C:\TimesTen\tt1121_32\bin

  • Problems with loading native library/missing methods:no ttJdbcCS in java.li

    Iam facing one problem while connecting the timesten client to the server The SQL Exception which Iam getting is pasted below:-
    Problems with loading native library/missing methods: no ttJdbcCS in java.library.path
    I am working with MAC OS X 10.7.2 and my timesten client version is 11.2.1.0
    I have also changed the Java Preferences from 64-bit to 32-bit but still whenever i tried to connect with the SQL Developer it gives me the above error.

    I just tried this out. My environment is OS X 10.7.4, Timesten (32-bit) client 11.2.1.9.0, SQL Developer 3.1.07, Oracle Java 1.7.0_04.
    The key things you need to be sure to do (in a terminal window) are:
    1. Be sure to . in the TimesTen environment script <tt_install_dir>/bin/ttenv.sh to set the full TT environment.
    2. Change directory to SQLDeveloper.app/Contents/Resources/sqldeveloper
    3. Run 'sh sqldeveloper.sh -J-d32'
    and all should be fine.
    Note that if you are using Java7 as I am then there is a step 1a. Change the CLASSPATH environment variable to specify ttjdbc6.jar not ttjdbc5.jar. For some reason running the app directly from Finder does not work even if you add -J-d32 into the sqldeveloper launch script. I'm still looking into that.
    Chris

  • Problems with loading native library missing methods ttJdbc1122.dll

    Problems with loading native library/missing methods: C:\TimesTen\tt1122_64\bin\ttJdbc1122.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
    Hi,
    I have installed TimesTen 11.2.2 64-bit version on 64-bit windows 7.
    I have TimesTen 7 64-bit as well installed on my machice
    When trying to connect to TimesTen (Direct connection) using jdbc from eclipse, I get the following error "Problems with loading native library/missing methods: C:\TimesTen\tt1122_64\bin\ttJdbc1122.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform".
    The JDK version is 1.6.25 - 64 bit version.
    Please help me resolving this error.
    Thanks in Advance,
    Balamurugan

    Are you using SQL Developer?
    There is or used to be a restriction of only being able to using 32 bit. A suggestion might be to try the 32 bit client.

  • JDEV 10.1.3: Issue with Inherited public event handler methods in beans

    I have a bean validator method which it inherits from another base class.
    I am able to pick this method using the property inspector and it works fine.
    But in the jspx source view, i see a red wiggly line under the expression. Is this a bug or some bizzare way of enforcing some best practice (if using inherited event handler methods in beans is NOT a best practice)?
    The same is true for value change listeners.

    I started from scratch and the problem remains. Only one commandButton can fire an event which sets a variable that controls a af:switcher. The effect is similar to what the "blocking" attribute does but it is set to false on my components. Any ideas, time has already run out.

  • JWSC Ant task with JAXWS web services failed

    Hi,
    I do not manage to generate my JAXWS web services using jwsc ant task. It worked when my web services were JAX-RPC web services but now I have an error.
    In my build process, I generate first the web service artifacts from wsdl files using wsdlc :
    <path id="bea-ant-task.classpath">
      <pathelement location="${java.home}/../lib/tools.jar" />
      <fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
      <fileset dir="${bea.home.dir}/modules"/>
    </path>
    <taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
      <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-artifacts">
       <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
       <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
    </target>Then I tried to generate my web services with jwsc :
    <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
      <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-webservices">
      <jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
           <module contextpath="myappli" name="webservices.jar" explode="true">
          <jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
          <jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
        </module>
      </jwsc>
    </target>This task generate the following error :
    generate-webservices:
         [jwsc] JWS: processing module webservices.jar
         [jwsc] Parsing source files
         [jwsc] Parsing source files
         [jwsc] 2 JWS files being processed for module webservices.jar
         [jwsc] JWS: C:\projects\appli\main\src\net\aze\appli\services\alarm\jwsendpoint\AlarmBean.java Validated.
         [jwsc] JWS: C:\projects\appli\main\src\net\aze\appli\services\alert\jwsendpoint\AlertBean.java Validated.
         [jwsc] Processing 2 JAX-WS web services...
         [jwsc] warning: Annotation types without processors: [javax.ejb.Stateless, javax.annotation.Resource, javax.annotation.security.RolesAllowed]
         [jwsc] C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jws\alert\PTAlert.java:33: The endpoint interface net.aze.appli.jws.alarm.PTAlarm does not match the interface net.aze.appli.jws.alert.PTAlert.
         [jwsc] public interface PTAlert {
         [jwsc]        ^
         [jwsc] 1 error
         [jwsc] 1 warning
         [jwsc] Command invoked: apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe -classpath C:\projects\appli\lib\common\caplib.jar;C:\pr......[pre]
    C:\projects\aze\main\bea-build.xml:15: The following error occurred while executing this line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:46: The following error occurred while executing this line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:110: weblogic.wsee.tools.WsBuildException: Error processing JAX-WS web servicesHere is my bean implementation :
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName = "applids", type = DataSource.class)
    @WebService(endpointInterface = "net.aze.appli.jws.alarm.PTAlarm")
    @HandlerChain(file = "../../../handler/alarmHandlerChain.xml")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlarmBean implements PTAlarm {
        @Resource
        private SessionContext sessionContext;
        public AlarmCreateOut persist(AlarmCreateIn in) {
            return AlarmDelegate.getInstance(sessionContext).persist(in);
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName = "applids", type = DataSource.class)
    @WebService(endpointInterface = "net.aze.appli.jws.alert.PTAlert")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlertBean implements PTAlert {
        @Resource
        private SessionContext sessionContext;
        public AlertCreateOut persist(AlertCreateIn in) {
            return AlertDelegate.getInstance(sessionContext).persist(in);
    }Jwsc seems to mix the interfaces... If I try to generate only one bean in jwsc it works...
    Any ideas? I can't find the solution, could it be a bug?
    Thanks for your help.
    Edited by will_mad at 09/11/2007 1:56 AM

    Hi,
    I do not manage to generate my JAXWS web services
    using jwsc ant task. It worked when my web services
    were JAX-RPC web services but now I have an error.
    In my build process, I generate first the web service
    artifacts from wsdl files using wsdlc :
    <path id="bea-ant-task.classpath">
    <pathelement location="${java.home}/../lib/tools.jar" />
    <fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
    <fileset dir="${bea.home.dir}/modules"/>
    </path>
    <taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
    <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-artifacts">
    <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
    <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
    </target>Then I tried to generate my web services with jwsc :
    <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
    <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-webservices">
    <jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
    <module contextpath="myappli" name="webservices.jar" explode="true">
    <jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
    <jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
    </module>
    </jwsc>
    </target>This task generate the following error :
    generate-webservices:
    [jwsc] JWS: processing module webservices.jar
    [jwsc] Parsing source files
    [jwsc] Parsing source files
    [jwsc] 2 JWS files being processed for module
    odule webservices.jar
    [jwsc] JWS:
    JWS:
    C:\projects\appli\main\src\net\aze\appli\services\alar
    m\jwsendpoint\AlarmBean.java Validated.
    [jwsc] JWS:
    JWS:
    C:\projects\appli\main\src\net\aze\appli\services\aler
    t\jwsendpoint\AlertBean.java Validated.
    [jwsc] Processing 2 JAX-WS web services...
    [jwsc] warning: Annotation types without
    thout processors: [javax.ejb.Stateless,
    javax.annotation.Resource,
    javax.annotation.security.RolesAllowed]
    [jwsc]
    jwsc]
    C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jw
    s\alert\PTAlert.java:33: The endpoint interface
    net.aze.appli.jws.alarm.PTAlarm does not match the
    interface net.aze.appli.jws.alert.PTAlert.
    [jwsc] public interface PTAlert {
    [jwsc]        ^
    [jwsc] 1 error
    [jwsc] 1 warning
    [jwsc] Command invoked: apt
    : apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe
    -classpath
    C:\projects\appli\lib\common\caplib.jar;C:\pr......[pr
    e]
    C:\projects\aze\main\bea-build.xml:15: The following
    error occurred while executing this line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:
    46: The following error occurred while executing this
    line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:
    110: weblogic.wsee.tools.WsBuildException: Error
    processing JAX-WS web servicesHere is my bean implementation :
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName =
    "applids", type = DataSource.class)
    @WebService(endpointInterface =
    "net.aze.appli.jws.alarm.PTAlarm")
    @HandlerChain(file =
    "../../../handler/alarmHandlerChain.xml")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlarmBean implements PTAlarm {
    @Resource
    private SessionContext sessionContext;
    public AlarmCreateOut persist(AlarmCreateIn in)
    in) {
    return
    return
    n
    AlarmDelegate.getInstance(sessionContext).persist(in);
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName =
    "applids", type = DataSource.class)
    @WebService(endpointInterface =
    "net.aze.appli.jws.alert.PTAlert")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlertBean implements PTAlert {
    @Resource
    private SessionContext sessionContext;
    public AlertCreateOut persist(AlertCreateIn in)
    in) {
    return
    return
    n
    AlertDelegate.getInstance(sessionContext).persist(in);
    }Jwsc seems to mix the interfaces... If I try to
    generate only one bean in jwsc it works...
    Any ideas? I can't find the solution, could it be a
    bug?
    Thanks for your help.
    Edited by will_mad at 09/11/2007 1:56 AM
    Hi,
    I do not manage to generate my JAXWS web services
    using jwsc ant task. It worked when my web services
    were JAX-RPC web services but now I have an error.
    In my build process, I generate first the web service
    artifacts from wsdl files using wsdlc :
    <path id="bea-ant-task.classpath">
    <pathelement location="${java.home}/../lib/tools.jar" />
    <fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
    <fileset dir="${bea.home.dir}/modules"/>
    </path>
    <taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
    <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-artifacts">
    <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
    <wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
    </target>Then I tried to generate my web services with jwsc :
    <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
    <classpath refid="bea-ant-task.classpath" />
    </taskdef>
    <target name="generate-webservices">
    <jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
    <module contextpath="myappli" name="webservices.jar" explode="true">
    <jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
    <jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
    </module>
    </jwsc>
    </target>This task generate the following error :
    generate-webservices:
    [jwsc] JWS: processing module webservices.jar
    [jwsc] Parsing source files
    [jwsc] Parsing source files
    [jwsc] 2 JWS files being processed for module
    odule webservices.jar
    [jwsc] JWS:
    JWS:
    C:\projects\appli\main\src\net\aze\appli\services\alar
    m\jwsendpoint\AlarmBean.java Validated.
    [jwsc] JWS:
    JWS:
    C:\projects\appli\main\src\net\aze\appli\services\aler
    t\jwsendpoint\AlertBean.java Validated.
    [jwsc] Processing 2 JAX-WS web services...
    [jwsc] warning: Annotation types without
    thout processors: [javax.ejb.Stateless,
    javax.annotation.Resource,
    javax.annotation.security.RolesAllowed]
    [jwsc]
    jwsc]
    C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jw
    s\alert\PTAlert.java:33: The endpoint interface
    net.aze.appli.jws.alarm.PTAlarm does not match the
    interface net.aze.appli.jws.alert.PTAlert.
    [jwsc] public interface PTAlert {
    [jwsc]        ^
    [jwsc] 1 error
    [jwsc] 1 warning
    [jwsc] Command invoked: apt
    : apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe
    -classpath
    C:\projects\appli\lib\common\caplib.jar;C:\pr......[pr
    e]
    C:\projects\aze\main\bea-build.xml:15: The following
    error occurred while executing this line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:
    46: The following error occurred while executing this
    line:
    C:\projects\aze\main\ant\bea-generate-webservices.xml:
    110: weblogic.wsee.tools.WsBuildException: Error
    processing JAX-WS web servicesHere is my bean implementation :
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName =
    "applids", type = DataSource.class)
    @WebService(endpointInterface =
    "net.aze.appli.jws.alarm.PTAlarm")
    @HandlerChain(file =
    "../../../handler/alarmHandlerChain.xml")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlarmBean implements PTAlarm {
    @Resource
    private SessionContext sessionContext;
    public AlarmCreateOut persist(AlarmCreateIn in)
    in) {
    return
    return
    n
    AlarmDelegate.getInstance(sessionContext).persist(in);
    @Stateless()
    @Resource(name = "jdbc/applids", mappedName =
    "applids", type = DataSource.class)
    @WebService(endpointInterface =
    "net.aze.appli.jws.alert.PTAlert")
    @RolesAllowed({"anonym", "systemUser"})
    public class AlertBean implements PTAlert {
    @Resource
    private SessionContext sessionContext;
    public AlertCreateOut persist(AlertCreateIn in)
    in) {
    return
    return
    n
    AlertDelegate.getInstance(sessionContext).persist(in);
    }Jwsc seems to mix the interfaces... If I try to
    generate only one bean in jwsc it works...
    Any ideas? I can't find the solution, could it be a
    bug?
    Thanks for your help.
    Edited by will_mad at 09/11/2007 1:56 AMI too am getting similar error. If you hit a solution, do let me know :)

  • Accessing add() methods through bean properties ?!

    I hope this question is trivial...
    Is there a defined way of using add(*) methods through bean properties ?
    Seems a little odd that Swing components can't be added to a container in a simple "bean-like" way....is there a set*(*) method I've missed ? I'm aware of the getComponents() method on Container...but there's no setComponents(Component []) method.
    Thanks,
    Michael.

    Thank you for the repsonse....but..
    Wouldn't that mean that I'd have to sub-class all the Components I wanted to use....just to add the set*(*) method....isn't there a tidier way ?
    I really find this strange...(I can think of many examples where accessing the add*(*) methods through introspection (possibly by providing set*(*) methods) would be extremely useful....but, staying in a Swing context....)
    If you wanted to create an application that can load, edit and save GUI forms (as many already have). Having all Swing components stick to the javaBeans spec. is very useful. The application can use introspection to grab all the properties of a component, without having any hard-coded logic on dealing with specific classes. Users can then provide their own extensions to the components palette, and by sticking to the javaBeans convention, have the GUI editor expose those properties.
    But....to compose components together (a fundamental concept) the editor must be provided with "hard-coded" logic that knows how to deal specifically with Components (in that they have an add(*) method).
    This must also be a problem with the XMLDecoder class ?!
    When encoding a Swing component, the XMLEncoder can use all the get*() methods (including getComponents()) to persist the Container, its properties, and any sub-components....fine.
    But, when decoding this information, all the properties can be set through the usual bean mechanism (using the corresponding setPropertyName(*) method) except the sub-components....there is no setComponents(*) method.
    How does the XMLDecoder get around this problem ?
    Does it "know" that when it gets to the "components" property of a Swing component, it must call the add(*) method instead...?
    Thanks,
    Michael

  • Missing method body or declare abstract error

    Hi!
    I have been working on this simple Java 1.3.1 program for three days now and cannot figure out what I am doing wrong. If anyone has done the "Building an Application" tutorial in the New to Java Programming Center, you might recognize the code. I am trying to set up a frame with panels first using the BorderLayout and then the FlowLayout within each section of the BorderLayout. It will have textfields and checkboxes. I am working on the code to retrieve the user input from the text boxes and also to determine which checkbox the user has checked. Here is my code: (ignore my irrelivent comments!)
    import java.awt.*;
    import javax.swing.*;
    import java.io.*;
    import java.awt.event.*;
    import java.awt.Color.*;
    import java.awt.Image.*;
    //Header Comment for a Routine/Method
    //This method gathers the input text supplied by the user from five text fields on the Current
    //Purchase tab of the tabbed pane of the MPGLog.java program. The way it gathers the text
    //depends on the current processing state, which it retrieves on its own. It saves the text to
    //a text file called textinput.txt.
    public class CollectTextInput extends JPanel implements ActionListener
    { // Begin class
         //Declare all the objects needed first.
         // These are the text fields
         private JTextField currentMileage;
         private JTextField numofGallonsBought;
         private JTextField dateofPurchase;
         private JTextField pricePerGallon;
         private JTextField gasBrand;
         // Declaring the Labels to go with each TextField
         private JLabel lblcurrentMileage;
         private JLabel lblnumofGallonsBought;
         private JLabel lbldateofPurchase;
         private JLabel lblpricePerGallon;
         private JLabel lblgasBrand;
         // Declaring the Checkboxes for the types of gas bought
         private JCheckBox chbxReg;
         private JCheckBox chbxSuper;
         private JCheckBox chbxUltra;
         private JCheckBox chbxOther;
         private JCheckBox chbxHigher;
         private JCheckBox chbxLower;
         // Declaring the Buttons and images needed
         private JButton enter;
         private JButton edit;
         //private JButton report; //Will be used later
         private JLabel bluecar;          //Used with the ImageIcon to create CRV image
         private JPanel carimage;     //Used in buildImagePanel method
         private JPanel datum;          //Used in buildDatumPanel method
         private JPanel gasgrade;     //Used in buildGasTypePanel method.
         //Declaring the Panels that need to be built and added
         //to the border layout of this panel.
         //private JPanel panlimages;
         //private JPanel panltextinputs;
         //private JPanel panlchkBoxes;
         // Class to handle functionality of checkboxes
         ItemListener handler = new CheckBoxHandler();
         // This is where you add the constructor for the class - I THINK!!
         public CollectTextInput()
         { // Opens collectTextInput constructor
              // Must set layout for collectTextInput here
              // Choosing a BorderLayout because we simply want to
              // add panels to the North, Center and South borders, which, by
              // default, will fill the layout with the three panels
              // we are creating
              setLayout(new BorderLayout());
              //Initialize the objects in the constructor of the class.
              //Initialize the textfields
              currentMileage = new JTextField();
              numofGallonsBought = new JTextField();
              dateofPurchase = new JTextField();
              pricePerGallon = new JTextField();
              gasBrand = new JTextField();
              // Initialize the labels that go with each TextField
              lblcurrentMileage = new JLabel("Enter the mileage at the time of gas purchase: ");
              lblnumofGallonsBought = new JLabel("Enter the number of gallons of gas bought: ");
              lbldateofPurchase = new JLabel("Enter the date of the purchase: ");
              lblpricePerGallon = new JLabel("Enter the price per gallon you paid for the gas: ");
              lblgasBrand = new JLabel("Enter the brand name of the gas: ");
              //Initialize the labels for the checkboxes.
              chbxReg = new JCheckBox("Regular ", true);
              chbxSuper = new JCheckBox("Super ");
              chbxUltra = new JCheckBox("Ultra ");
              chbxOther = new JCheckBox("Other: (Choose one from below) ");
              chbxHigher = new JCheckBox("Higher than Ultra ");
              chbxLower = new JCheckBox("Lower than Ultra ");
              //Initialize the buttons that go on the panel.
              enter = new JButton("Save Data");
              edit = new JButton("Edit Data");
              //Initialize the image that oges on the panel.
              bluecar = new JLabel("2002 Honda CR-V", new ImageIcon("CRVBlue.jpg"),JLabel.CENTER);
              // Now bring it all together by calling the other methods
              // that build the other panels and menu.
              buildImagePanel();
              buildDatumPanel();
              buildGasTypePanel();
              // Once the methods above build the panels, this call to add
              //  them will add the panels to the main panel's border
              // layout manager.
              add(datum, BorderLayout.NORTH);
              add(carimage, BorderLayout.EAST);
              add(gasgrade, BorderLayout.CENTER);
         } // Ends the constructor.
            // This method creates a panel called images that holds the car image.
         public void buildImagePanel();
         { // Opens buildImagePanel.
              // First, create the Panel
              carimage = new JPanel();
              //Second, set the color and layout.
              carimage.setBackground(Color.white);
              carimage.setLayout(new FlowLayout());
              // Third, add the image to the panel.
              carimage.add(bluecar);
         }// Closes buildImagePanel
         //This method creates a panel called datum that holds the text input.
         public void buildDatumPanel();
         { //Opens buildDatumPanel
              // First, create the Panel.
              datum = new JPanel();
              //Second, set the background color and layout.
              datum.setBackground(Color.white);
              datum.setLayout(new GridLayout(2, 4, 20, 20));
              //Third, add the textfields and text labels to the panel.
              datum.add(lblcurrentMileage);
              datum.add(currentMileage);
              datum.add(lblnumofGallonsBought);
              datum.add(numofGallonsBought);
              datum.add(lbldateofPurchase);
              datum.add(dateofPurchase);
              datum.add(lblpricePerGallon);
              datum.add(pricePerGallon);
              datum.add(lblgasBrand);
              datum.add(gasBrand);
              //Optionally - Fourth -set a border around the panel, including
              // a title.
              datum.setBorder(BorderFactory.createTitledBorder("Per Purchase Information"));
              //Fifth - Add listeners to each text field to be able to
              //  know when data is input into them.
              currentMileage.addActionListener(this);
              numofGallonsBought.addActionListener(this);
              dateofPurchase.addActionListener(this);
              pricePerGallon.addActionListener(this);
              gasBrand.addActionListener(this);
         }// Closes buildDatumPanel
         // This method builds a panel called gasTypePanel that holds the checkboxes.
         public void buildGasTypePanel()
         { // Opens buildGasTypePanel method
              // First, create the panel.
              gasgrade = new JPanel();
              // Second, set its background color and its layout.
              gasgrade.setBackground(Color.white);
              gasgrade.setLayout(new GridLayout(5, 1, 10, 20));
              // Third, add all the checkboxes to the panel.
              gasgrade.add(chbxReg);
              gasgrade.add(chbxSuper);
              gasgrade.add(chbxUltra);
              gasgrade.add(chbxOther);
              gasgrade.add(chbxHigher);
              gasgrade.add(chbxLower);
              //Optionally, - Fourth - set a border around the panel, including
              // a title.
              gasgrade.setBorder(BorderFactory.createTitledBorder("Gas Type Information"));
              // Fifth - CheckBoxes require a CheckBox Handler.
              // This is a method created separately
              // outside of the method where the checkboxes are added to
              // the panel or where the checkboxes are even created.
              // This method (CheckBox Handler) implements and ItemListener
              // and is a self-contained method all on its own. See
              // the CheckBox Handler methods following the
              // actionPerformed method which follows.-SLM
         } // Closes the buildGasTypePanel method
    // Create the functionality to capture and react to an event
    //   for the checkboxes when they are checked by the user and
    //   the text fields to know when text is entered. Also to react to the
    //   Enter button being pushed and the edit button being pushed.
    public void actionPerformed(ActionEvent evt)
    { // Opens actionPerformed method.
         if((evt.getSource() == currentMileage) || (evt.getSource() == enter))
              { // Opens if statement.
                // Retrieves the text from the currentMileage text field
                //  and assigns it to the variable currentMileageText of
                //  type String.
                String currentMileageText = currentMileage.getText();
                lblcurrentMileage.setText("Current Mileage is:    " + currentMileageText);
                // After printing text to JLabel, hide the text field.
                currentMileage.setVisible(false);
           } // Ends if statement.
          if((evt.getSource() == numofGallonsBought) || (evt.getSource() == enter))
              { // Opens if statement.
                // Retrieves the text from the numofGallonsBought text field
                //  and assigns it to the variable numofGallonsBoughtText of
                //  type String.
                String numofGallonsBoughtText = numofGallonsBought.getText();
                lblnumofGallonsBought.setText("The number of gallons of gas bought is:    " + numofGallonsBoughtText);
                // After printing text to JLabel, hide the text field.
                numofGallonsBought.setVisible(false);
           } // Ends if statement.
           if((evt.getSource() == dateofPurchase) || (evt.getSource() == enter))
                     { // Opens if statement.
                       // Retrieves the text from the dateofPurchase text field
                       //  and assigns it to the variable dateofPurchaseText of
                       //  type String.
                       String dateofPurchaseText = dateofPurchase.getText();
                       lbldateofPurchase.setText("The date of this purchase is:    " + dateofPurchaseText);
                       // After printing text to JLabel, hide the text field.
                       dateofPurchase.setVisible(false);
           } // Ends if statement.
           if((evt.getSource() == pricePerGallon) || (evt.getSource() == enter))
                            { // Opens if statement.
                              // Retrieves the text from the pricePerGallon text field
                              //  and assigns it to the variable pricePerGallonText of
                              //  type String.
                              String pricePerGallonText = pricePerGallon.getText();
                              lblpricePerGallon.setText("The price per gallon of gas for this purchase is:    " + pricePerGallonText);
                              // After printing text to JLabel, hide the text field.
                              pricePerGallon.setVisible(false);
           } // Ends if statement.
           if((evt.getSource() == gasBrand) || (evt.getSource() == enter))
                       { // Opens if statement.
                         // Retrieves the text from the gasBrand text field
                         //  and assigns it to the variable gasBrandText of
                         //  type String.
                         String gasBrandText = gasBrand.getText();
                         lblgasBrand.setText("The Brand of gas for this purchase is:    " + gasBrandText);
                         // After printing text to JLabel, hide the text field.
                         gasBrand.setVisible(false);
           } // Ends if statement.
           // This provides control statements for the Edit button. If the
           //  Edit button is clicked, then the text fields are visible again.
           if(evt.getSource() == edit)
           { // Opens if statement.
             // If the edit button is pressed, the following are set to
             //  visible.
                currentMileage.setVisible(true);
                numofGallonsBought.setVisible(true);
                dateofPurchase.setVisible(true);
                pricePerGallon.setVisible(true);
                gasBrand.setVisible(true);
         }// Closes if statement.
    } // Closes actionPerformed method.
         private class CheckBoxHandler implements ItemListener
         { // Opens inner class
              public void itemStateChanged (ItemEvent e)
              {// Opens the itemStateChanged method.
                   JCheckBox source = (JCheckBox) e.getSource();
                        if(e.getStateChange() == ItemEvent.SELECTED)
                             source.setForeground(Color.blue);
                        else
                             source.setForeground(Color.black);
                        }// Closes the itemStateChanged method
                   }// Closes the CheckBoxHandler class.
    } //Ends the public class collectTextInput classThe error I keep receiving is as follows:
    C:\jdk131\CollectTextInput.java:128: missing method body, or declare abstract
         public void buildImagePanel();
    ^
    C:\jdk131\CollectTextInput.java:142: missing method body, or declare abstract
         public void buildDatumPanel();
    ^
    2 errors
    I have looked this error up in three different places but the solutions do not apply to what I am trying to accomplish.
    Any help would be greatly appreciated!! Thanks!
    Susan

    C:\jdk131\CollectTextInput.java:128: missing methodbody, or declare ?abstract
    public void buildImagePanel();^
    C:\jdk131\CollectTextInput.java:142: missing methodbody, or declare abstract
    public void buildDatumPanel();Just remove the semicolons.
    Geesh! If I had a hammer I would be hitting myself over the head with it right now!!! What an obviously DUMB newbie mistake!!!
    Thanks so much for not making me feel stupid! :-)
    Susan

  • Problem with ejb 3.0 entity beans with manyToMany relationship

    Hello everyone!
    I am using struts 1.2.9 and java ee 5 sdk update 2 for my enterprise application. Besides others i have these entity beans Targetgroup.java and City.java, (i would upload file but i do not know how:)
    with manytomany relationship with join table.
    when user updates Targetgroup, by clicking on web page with checkboxes and textfields, struts dispatch action calls following method stateless bean:
    public void update(String firmId, String targetgroupId, String newGender, String newMinYearsOld, String newMaxYearsOld, String[] newCities) {
    TargetgroupPK pkForUpdate = new TargetgroupPK(targetgroupId, firmId);
    Targetgroup targetgroupForUpdate = find(pkForUpdate);
    targetgroupForUpdate.setGender(newGender);
    targetgroupForUpdate.setMinyearold(Integer.parseIn t(newMinYearsOld));
    targetgroupForUpdate.setMaxyearold(Integer.parseIn t(newMaxYearsOld));
    //pronalazenje gradva za koje je vezana ciljna grupa
    Collection<City> newCitiesCollection = new ArrayList<City>();
    for(int i = 0; i < newCities.length; i++){
    String tmp_city_name = newCities;
    City city_obj = cityFacade.find(tmp_city_name);
    newCitiesCollection.add(city_obj);
    targetgroupForUpdate.setCityidCollection(newCities Collection);
    parameter newCities represents names of cities which user checked on his update page. When the page is showen to him some cities are allready check because they were connected with Targetgruoup when it was created (targetgroup).
    this code throws following exception:
    [#|2007-07-26T12:13:36.993+0200|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_Threa dID=16;_ThreadName=httpWorkerThread-8080-0;_RequestID=f79d9c50-86b0-4b6c-96ab-97956dfb39c1;|StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
    javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.
    javax.transaction.RollbackException: Transaction marked for rollback.
    at
    .com.sun.enterprise.web.connector.grizzly.WorkerTh read.run(WorkerThread.java:75)
    javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.
    at com.sun.ejb.containers.BaseContainer.completeNewTx (BaseContainer.java:3659)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx( BaseContainer.java:3431)
    at com.sun.ejb.containers.BaseContainer.postInvoke(Ba seContainer.java:1247)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHan dler.invoke(EJBLocalObjectInvocationHandler.java:1 92)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHan dlerDelegate.invoke(EJBLocalObjectInvocationHandle rDelegate.java:71)
    at $Proxy149.update(Unknown Source)
    at audiotel.sms.actions.backoffice.TargetgroupDispatc hAction.updateOrDelete(TargetgroupDispatchAction.j ava:132)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.struts.actions.DispatchAction.dispatchM ethod(DispatchAction.java:270)
    at org.apache.struts.actions.DispatchAction.execute(D ispatchAction.java:187)
    at org.apache.struts.action.RequestProcessor.processA ctionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:727)
    com.sun.enterprise.web.connector.grizzly.WorkerThr ead.run(WorkerThread.java:75)
    |#]
    exceprion is throwen ONLY when in parameter newCities are city names allready connected to Targetgroup. when NewCities contains names of
    City objects which are not connected to Targetgroup it works fine, but it's of no use for me, because user must be able to add or remove certian cities from relaionship with Targetgroup. I think it's because there are rows in join table that contain primary keys of city and targetgroup which are connected so perisistence manager cann't write them again.
    i thought it was going to figure it out by itself, and only update those rows.
    Does anyone know what is the problem and solution?
    Thanks! (forgive my spelling errors :)

    solved the problem!
    I moved code from sesion bean to struts action as follows:
    CityFacadeLocal cityFacade = lookupCityFacade();
    //prikupljanje novih podataka o ciljnoj grupi
    String newGender = ctf.getGender();
    String newMaxYears = ctf.getMaxyears();
    String newMinYears = ctf.getMinyears();
    String[] newSelectedCities = ctf.getSelectedCities();
    //niz imena gradova se prevodi u kolekcju objekata City
    Collection<City> newCitiesObjCollection = new Vector<City>();
    for(int i = 0; i < newSelectedCities.length; i++){
    String tmpCityName = newSelectedCities;
    City tmpCityObj = cityFacade.find(tmpCityName);
    newCitiesObjCollection.add(tmpCityObj);
    //setovanje novih podataka
    targetgroupForUD.setGender(newGender);
    targetgroupForUD.setMinyearold(Integer.parseInt(newMinYears));
    targetgroupForUD.setMaxyearold(Integer.parseInt(newMaxYears));
    targetgroupForUD.setCityidCollection(newCitiesObjCollection);
    //pozivanje update metdoe u session beany
    targetgroupFacade.edit(targetgroupForUD);
    //korisnik se vraca na stranu sa svim postojecim ciljnim grupama
    forward = mapping.findForward("backend.targetgroups");
    and now it works fine. I guess probelm was same transaction scope for Targetgroup and City entities. Now when they are separated it works.
    Thanks!

  • Getting missing method error - first attempt at arrays

    I'm trying to work with arrays for the first time ever - I understand the concept, but can't quite get the syntax down. Here is the class which won't compile and is giving me a missing method body or declare abstract message - please help me understand what I'm doing wrong.
    import java.util.Scanner;
    import static java.lang.System.out;
    public class Inventory
      //declare and initialize variables
       private int itemNumber = 0;
       private String productName;
       private int stockAmount = 0;
       private double productCost = 0;
       private double totalValue = 0;
       private double totalInventory = 0;
       //initialize scanner
       Scanner input = new Scanner(System.in);
       public Inventory (int itemNumber, String productName, int stockAmount,
               double productCost, double totalValue);
       out.println("Please enter item number: "); //prompt for item number
          itemNumber = input.nextInt();
       out.println( "Enter product name/description: "); //prompt for product name
          productName = input.next();
       out.println("Quantity in stock: ");
          stockAmount = input.nextInt(); // prompt for stock quantity
       out.println("What is the product cost for each unit? ");
          productCost = input.nextDouble(); // prompt for product cost
            totalValue = stockAmount * productCost; //calculate stock value
          } // end calculate stock value
          { //request for inventory details
            out.printf("%s, which is item number %d, has %d pieces currently in " +
                "stock at a price of %.2f each. The total value of " +
                "inventory in stock is %.2f\n.", productName, itemNumber, +
                stockAmount, productCost, totalValue);
          } // end request
      }// end classHere is my main method - I don't think I'm referencing things the way I'm supposed to.
    public class Main {
      public static void main(String[] args) { //start main method
            Inventory inventory = new Inventory(); //call Inventory class
            inventory.inventoryInput();
    }

    LOL - you are right, I don't really know what I'm doing. I don't understand this and am just trying to muddle my way through this whole thing...as you can tell I'm facing many challenges.
    Here is how I've changed my main method and the Inventory class - still getting error messages though - any additional hints/suggestions?
    Inventory class
    import java.util.Scanner;
    import static java.lang.System.out;
    public class Inventory
      //declare and initialize variables
       private int itemNumber = 0;
       private String productName;
       private int stockAmount = 0;
       private double productCost = 0;
       private double totalValue = 0;
       private double totalInventory = 0;
       //initialize scanner
       Scanner input = new Scanner(System.in);
       public Inventory (int itemNumber, String productName, int stockAmount,
               double productCost, double totalValue)
       out.println("Please enter item number: "); //prompt for item number
          itemNumber = input.nextInt();
       out.println( "Enter product name/description: "); //prompt for product name
          productName = input.next();
       out.println("Quantity in stock: ");
          stockAmount = input.nextInt(); // prompt for stock quantity
       out.println("What is the product cost for each unit? ");
          productCost = input.nextDouble(); // prompt for product cost
            totalValue = stockAmount * productCost; //calculate stock value
          } // end calculate stock value
          { //request for inventory details
            out.printf("%s, which is item number %d, has %d pieces currently in " +
                "stock at a price of %.2f each. The total value of " +
                "inventory in stock is %.2f\n.", productName, itemNumber, +
                stockAmount, productCost, totalValue);
          } // end request
      }// end classMain method
    public class TestInventory
        public static void main(String[] args)
        {Inventory[] inventoryArray = new Inventory[3];
         inventoryArray[0] = new Inventory(0, 2541, Radios, 14, 15.95);
         inventoryArray[1] = new Inventory(1, 1685, VCR, 10, 98.95);
         inventoryArray[2] = new Inventory(2, 5872, Clock, 8, 12.95);
         For (Inventory inventory : inventoryArray)
             System.out.println(Inventory);
    }

  • Java.lang.RuntimeException: Uncompilable source code - missing method body

    Hi,
    I am getting the following error at runtime
    java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstractwhen I try to instantiate a class using reflexion as following:
    MyInstance = MyClass.newInstance(); I have tried to find some explanation using Google, but could not find any that fit my case. MyClass's implementation has a public constructor with no parameter. There is no error at compile time when cleaning and building all code.
    Anyone has tips about what could cause this error?
    Thanks.

    Jrm wrote:
    It is not my code originally... You are making far too many unchecked assumptions about the reality of this situation to even get close to what that reality it is... Get over patronizing, it would improve your social/people skills... Thanks !It is your own problem that you perceive something as patronizing, while in fact it was only an honest and straight to the point attempt to help you. This forum does not deal in sensitivity, it gets in the way of helping people to see the error of their ways.

  • Missing method body

    class Board
        public static void main(String[] args)
            Board example = new Board();
        private Board();
            char array[][];
            array = new char[3][3];
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                    array[i][j] = '.';
                    System.out.println(array[i][j]);
    }compiler says missing method body, but i can't think where the error is? private Board has to be a constructor.

    Are you using a text editor or an IDE? If you are already fairly familiar with the Java programming language and the java/javac and you understand how classpath works, then you might consider to step over from the text editor to an IDE, such as Eclipse. It will save time and effort in developing. I tried to reproduce your problem in Eclipse and it clearly understrikes the "Board();" part during typing and says "This method requires a body instead of a semicolon" which makes much more sense.

  • Missing method body or declare abstract...

    Hi There,
    Im working on an assignment that works with the math class and performs a bunch of mathematical functions. Im trying to declare the different fields in the math class and I keep getting error messages!!
    This is what I have right now
    public class Math
        // Returns the absolute value of a double value.
        double abs(double a);
        // Returns the absolute value of a int value.
        int abs(int a);
        //Returns the greater of two double values.
        double max(double a, double b);
        //Returns the greater of two int values.
        int max(int a, int b);
        // Returns the lesser of two double values.
        double min(double a, double b);
        // Returns the lesser of two double values.
        int min( int a, int b);
        // Returns the value of the first argument raised to the power of
        // the second argument.
        double pow(double a, double b);
        // Returns the remainder of division of two integers.
        int remainder(int a, int b);
        // Returns the closest long to the argument.
        long round(double a);
        // Returns the sum of all the elements in an array of doubles.
        double sum(double [] doubleArr);
        // Returns the sum of all the elements in an array of ints.
        int sum(int [] intArr);
        // Storage for the list of integers used for the int sum method.
        private int [] intArray = {5, 10, 15, 20};
        // Storage for the list of doubles to be used double sum method.
        private double [] doubleArray = {5.25, 10.00, 14.50, 21.90};
        }When I try and compile it tells me that Im missing method body or declare abstract.
    I originally had this
       // Returns the absolute value of a double value.
        double abs;
        // Returns the absolute value of a int value.
        int abs;
        //Returns the greater of two double values.
        double max;
        //Returns the greater of two int values.
        int max;
        // Returns the lesser of two double values.
        double min;
        // Returns the lesser of two double values.
        int min;
        // Returns the value of the first argument raised to the power of
        // the second argument.
        double pow;
        // Returns the remainder of division of two integers.
        int remainder;
        // Returns the closest long to the argument.
        long round;
        // Returns the sum of all the elements in an array of doubles.
        double sum(double [] doubleArr);
        // Returns the sum of all the elements in an array of ints.
        int sum(int [] intArr);
        // Storage for the list of integers used for the int sum method.
        private int [] intArray = {5, 10, 15, 20};
        // Storage for the list of doubles to be used double sum method.
        private double [] doubleArray = {5.25, 10.00, 14.50, 21.90};When i tried doing this it told me that I had already declared the field previously when it got the the field with the same name and thats why I added the bit in brackets.....
    Im so lost... can anybody hep????

    hi,
    here is your code...
    modified by correcting my bad habit...
    he..he...
    public class Math
        // Returns the absolute value of a double value.
        double abs(double a){return 0.0;}
        // Returns the absolute value of a int value.
        int abs(int a){return 0;}
        //Returns the greater of two double values.
        double max(double a, double b){return 0.0;}
        //Returns the greater of two int values.
        int max(int a, int b){return 0;}
        // Returns the lesser of two double values.
        double min(double a, double b){return 0.0;}
        // Returns the lesser of two double values.
        int min( int a, int b){return 0;}
        // Returns the value of the first argument raised to the power of
        // the second argument.
        double pow(double a, double b){return 0.0;}
        // Returns the remainder of division of two integers.
        int remainder(int a, int b){return 0;}
        // Returns the closest long to the argument.
        long round(double a){return 0.0;}
        // Returns the sum of all the elements in an array of doubles.
        double sum(double [] doubleArr){return 0.0;}
        // Returns the sum of all the elements in an array of ints.
        int sum(int [] intArr){return 0;}
        // Storage for the list of integers used for the int sum method.
        private int [] intArray = {5, 10, 15, 20};
        // Storage for the list of doubles to be used double sum method.
        private double [] doubleArray = {5.25, 10.00, 14.50, 21.90};
        }if you want to extend Math class to any other class.. then make all the methods abstract
    dhaval.
    Edited by: Dhaval.Yoganandi on 1 Mar, 2008 3:48 PM

Maybe you are looking for

  • Feature request: Support for Multiple Libraries (like in iMovie)

    From the threads, I can tell this topic was raised by many for many years. I would like to propose support for multiple iPhoto libraries -- or more specifically, the ability to distribute media across different storage devices. There is a huge gap be

  • Satellite Pro A200-1NB - Can I use Windows 7 64bit?

    This is my laptop: Satellite Pro A200-1NB Part Number : PSAE7E-00V00CG3 http://eu.computers.toshiba-europe.com/innovation/jsp/autoDetect.do?service=EU&ACTION=PROCESS_DETECTION& TYPE=FORWARD&SOURCE=SMP&COUNTRY=&QSA=TRUE&MODEL=Sa tellite+Pro+A200&SERIA

  • Speakers on Macbook Pro

    How can I restart my Macbook Pro speakers if they are not working and not an option in sound/output?

  • Connection dropping. Need help please.

    I have tried everything that In have seen in the forum related to this problem. The only thing not done is un-clicking the option to connect to BT Openzone if in range which seems to be in Communication Settings. Is this on my Laptop or within the hu

  • Wrong value in "Total of Storage Position Evaluations" in Rearrangement

    Dear Gurus, I am doing rearrangement through t code /n/SCWM/REAR. The value in "Total of Storage Position Evaluations" is appearing as 99999 irrespective of any value maintained in "Evaluate Whse Item" in customizing for storage type, storage section