Yup. That´s exactly the place to put it them into (and of course to reference it from the web-service.xml), unless You want to use the across several ears in which case I would recommend you to put them somwhere under lib.
CGJ -----Ursprüngliche Nachricht----- Von: David Ward [mailto:[EMAIL PROTECTED]] Gesendet: Freitag, 7. Juni 2002 15:30 An: [EMAIL PROTECTED] Betreff: Re: AW: [JBoss-user] NPE using JBoss.net Dr. Jung, Thank your for your help. That was the problem. However, I can't really change the Javabeans since they are being created by XDoclet. Now, xdoclet 1.1.2's dataobjects conform to the JavaBeans spec - however 1.2.0cvs valueobjects do not. I need to use cvs' valueobjects because it creates getters and setters for my relationships. Unfortunately, is also adds some gets that don't have sets. Sooo, it looks like I need to write my own serializers and deserializers. I see the docs at: http://xml.apache.org/axis/ , however my question to you is where do I put the de/serializer classes? In the .wsr? Thanks again, David -- Jung , Dr. Christoph wrote: > David, > > There seems to be an assymetry in the read/write methods of your > Javabeans? The line in which the exception is thrown: > > BeanDeserializer.java, line 198: > > if (propDesc.getWriteMethod().getParameterTypes().length == 1) > > propDesc is the BeanProperty-MetaData of axis must be bound, otherwise > you would get a badElement AxisFault before. So I guess it is a > lacking writeMethod (setWhatEver(...)) such that the > getWriteMethod() deliver null. > > I´m currently working on a more tolerant version of the BeanSerializer > for jboss.net that also covers entity beans and entity-relations ... > > CGJ > > -----Ursprüngliche Nachricht----- > Von: David Ward [mailto:[EMAIL PROTECTED]] > Gesendet: Freitag, 7. Juni 2002 08:55 > An: [EMAIL PROTECTED] > Betreff: [JBoss-user] NPE using JBoss.net > Wichtigkeit: Hoch > > > I'm so close to getting my axis client code working with JBoss.net I can > taste it... however I'm getting a NullPointerException that I can't > figure out. > > My guess is that I have something misconfigured with namespaces or > something else in my XML, but I'm not sure. > > I've attached all the relevant information I can below. The > client-config.xml and web-service.xml files are at the bottom of the email. > > Please help! (Dr. Jung?) > > Thanks so much, > David > > -- > > ENVIRONMENT: > ------------ > RedHat Linux 7.1, kernel 2.4.9-31, i686 > Sun JDK 1.4.0_01 > JBoss 3.0.0 (final w/ Jetty) > > ear file contents: > ------------------ > META-INF/MANIFEST.MF > META-INF/application.xml > dotech-gizzard-ejb.jar > dotech-gizzard-axis.wsr > > wsr (in the ear) file contents: > ------------------------------- > META-INF/MANIFEST.MF > META-INF/web-service.xml > > JAVA CODE: > ---------- > > String clientConfig = "/home/david/<filepath>/client-config.xml"; > String url = > "http://localhost:9090/axis/services/EJBPersistenceManager"; > > Service service = new Service( new FileProvider(clientConfig) ); Call > call = > (Call)service.createCall(); call.setTargetEndpointAddress( new URL(url) ); > > // I'm using reflection to dynamically get the method name in an > InvocationHandler > QName qname = new QName( "http://net.jboss.org/gizzard/", > pMethod.getName() ); > > call.setOperationName(qname); > return call.invoke(pArgs); // error occurs here > > CLIENT STACK TRACE: > ------------------- > > [java] java.lang.NullPointerException > [java] at > org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.j > ava:13 > 5) > [java] at > org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati > onContextImpl.java:865) > [java] at > org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1528) > [java] at > org.apache.crimson.parser.Parser2.content(Parser2.java:1779) > [java] at > org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507) > [java] at > org.apache.crimson.parser.Parser2.content(Parser2.java:1779) > [java] at > org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507) > [java] at > org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500) > [java] at > org.apache.crimson.parser.Parser2.parse(Parser2.java:305) > [java] at > org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442) > [java] at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) > [java] at > org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon > textImpl.java:201) > [java] at > org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:428) [java] > at org.apache.axis.client.Call.invoke(Call.java:1793) > [java] at org.apache.axis.client.Call.invoke(Call.java:1594) > [java] at org.apache.axis.client.Call.invoke(Call.java:1513) > [java] at org.apache.axis.client.Call.invoke(Call.java:1093) > [java] at > com.dotech.gizzard.persistence.axis.AXISPersistenceManagerFactory$1.invoke(A > XISPersistenceManagerFactory.java:49) > [java] at $Proxy0.addUser(Unknown Source) > [java] at > com.dotech.gizzard.persistence.test.UserTest.addUsers(UserTest.java:68) > [java] at > com.dotech.gizzard.persistence.test.UserTest.main(UserTest.java:32) > > AXIS MONITOR: > > ------------- > > Listen Port: 9090 > Target Host: localhost > Target Port: 8080 > ==== Request ==== > POST /axis/services/EJBPersistenceManager HTTP/1.0 > Content-Length: 1234 > Host: localhost > Content-Type: text/xml; charset=utf-8 > SOAPAction: "" > > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope > SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> > <SOAP-ENV:Body> > <ns1:addUser xmlns:ns1="http://net.jboss.org/gizzard/"> > <arg0 href="#id0"/> > </ns1:addUser> > <multiRef id="id0" SOAP-ENC:root="0" xsi:type="ns2:UserData" > xmlns:ns2="http://net.jboss.org/gizzard"> > <lastModified xsi:nil="true"/> > <email xsi:type="xsd:string">[EMAIL PROTECTED]</email> > <userName xsi:type="xsd:string">david</userName> > <password xsi:type="xsd:string">divad</password> > <firstName xsi:type="xsd:string">David</firstName> > <lastName xsi:type="xsd:string">Ward</lastName> > <created xsi:nil="true"/> > <key xsi:nil="true"/> > <groupData xsi:nil="true"/> > <persistenceLevel href="#id1"/> > <primaryKey xsi:nil="true"/> > </multiRef> > <multiRef id="id1" SOAP-ENC:root="0" xsi:type="ns3:PersistenceLevel" > xmlns:ns3="http://net.jboss.org/gizzard"> > <level xsi:type="xsd:int">-1</level> > </multiRef> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope>==== Response ==== > HTTP/1.1 500 Internal Server Error > Date: Fri, 07 Jun 2002 06:21:32 GMT > Server: Jetty/4.0.1 (Linux 2.4.9-31 i386) > Servlet-Engine: Jetty/1.1 (Servlet 2.3; JSP 1.2; java 1.4.0_01) > Content-Type: text/xml; charset=utf-8 > Content-Length: 3373 > > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> > <SOAP-ENV:Body> > <SOAP-ENV:Fault> > <faultcode > xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</faultcode> > <faultstring>java.lang.NullPointerException</faultstring> > <detail> > <ns2:stackTrace > xmlns:ns2="http://xml.apache.org/axis/">java.lang.NullPointerException > at > org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer. > java:198) > at > org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa > tionContextImpl.java:821) > at > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) > at > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java: > 578) > at > org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java > :367) > at > org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa > tionContextImpl.java:834) > at > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) > at > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java: > 578) > at > org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java > :367) > at > org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa > tionContextImpl.java:834) > at > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) > at > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java: > 578) > at > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207) > at org.apache.axis.message.RPCElement.getParams(RPCElement.java:231) > at > org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:1 > 39) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:263) > at > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java: > 71) > at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:154) > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:121) > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:288) > at > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:543) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:371) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:607) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1387) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1326) > at org.mortbay.http.HttpServer.service(HttpServer.java:757) > at org.jboss.jetty.Jetty.service(Jetty.java:527) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:742) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:915) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:757) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:151) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287) > at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715) > at java.lang.Thread.run(Thread.java:536) > </ns2:stackTrace> > </detail> > </SOAP-ENV:Fault> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > ejb-jar.xml: > ------------ > ... > <session> > ... > <ejb-name>EJBPersistenceManager</ejb-name> > ... > <session-type>Stateless</session-type> > <transaction-type>Container</transaction-type> > ... > </session> > ... > > web-service.xml: > ---------------- > > <deployment > name="EJBPersistenceManager" > targetNamespace="http://net.jboss.org/gizzard" > xmlns:gizzard="http://net.jboss.org/gizzard" > xmlns="http://xml.apache.org/axis/wsdd/" > xmlns:jbnet="http://net.jboss.org/server" > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <!-- the below ejb-ref block is a jboss extension --> > <ejb-ref> > <ejb-ref-name>ejb/EJBPersistenceManager</ejb-ref-name> > <ejb-link>EJBPersistenceManager</ejb-link> > </ejb-ref> > > <service name="EJBPersistenceManager" provider="Handler"> > <parameter name="handlerClass" > value="org.jboss.net.axis.server.EJBProvider"/> > <!-- > <parameter name="beanJndiName" > value="java:comp/env/ejb/EJBPersistenceManager"/> > --> > <parameter name="beanJndiName" > value="dotech/gizzard/EJBPersistenceManager"/> > <parameter name="allowedMethods" value="*"/> > <requestFlow name="EJBPersistenceManagerRequest"> > <handler > type="java:org.jboss.net.axis.server.TransactionRequestHandler"/> > </requestFlow> > <responseFlow name="EJBPersistenceManagerResponse"> > <handler > type="java:org.jboss.net.axis.server.SerialisationResponseHandler"/> > <handler > type="java:org.jboss.net.axis.server.TransactionResponseHandler"/> > </responseFlow> > </service> > > <typeMapping qname="gizzard:PersistenceLevel" > type="java:com.dotech.gizzard.persistence.PersistenceLevel" > > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > <typeMapping qname="gizzard:UserData" > type="java:com.dotech.gizzard.persistence.data.UserData" > > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </deployment> > > client-config.xml: > ------------------ > > > <deployment > name="EJBPersistenceManager" > xmlns="http://xml.apache.org/axis/wsdd/" > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" > xmlns:gizzard="http://net.jboss.org/gizzard"> > > <transport name="http" > > pivot="java:org.apache.axis.transport.http.HTTPSender"> > </transport> > > <typeMapping qname="gizzard:PersistenceLevel" > type="java:com.dotech.gizzard.persistence.PersistenceLevel" > > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > <typeMapping qname="gizzard:UserData" > type="java:com.dotech.gizzard.persistence.data.UserData" > > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > </deployment> > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user > ########################################### > > This message has been scanned by F-Secure Anti-Virus for Microsoft > Exchange. For more information, connect to http://www.F-Secure.com/ > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user -- --------------------- David Ward [EMAIL PROTECTED] http://www.dotech.com _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user ########################################### This message has been scanned by F-Secure Anti-Virus for Microsoft Exchange. For more information, connect to http://www.F-Secure.com/ _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user