As I said earlier, "Ljava/lang/String;" is simply the name that the Java Virtual Machine uses internally for the java.lang.String type. There is really nothing magic here.
Andreas On Mon, Mar 14, 2011 at 15:08, Bing Li <[email protected]> wrote: > In Axis2, no WSDD is required. > > POJO is what I am using. At the server, users just need to write OO program > as usual. No particular work is required. I notice that the sample, > addressbook, in the directory of POJO accompanied with AXIS binary package, > works fine. My case should be the same as that. But the method on the server > is not recognized for my method's parameters is changed from String to > Ljava/lang/java! > > What I am wondering why Ljava/lang/java comes out? I never use it. I believe > a proper design of Web services development system should NOT bother users > with so many underlying techniques. > > Thanks, > LB > > On Mon, Mar 14, 2011 at 10:02 PM, <[email protected]> wrote: >> >> Well, I'm not expert at all. The exception is in the server side, right? >> Can you share the wsdd? >> >> Sent via BlackBerry from T-Mobile >> >> ________________________________ >> From: Bing Li <[email protected]> >> Date: Mon, 14 Mar 2011 21:48:14 +0800 >> To: JOSE L MARTINEZ-AVIAL<[email protected]> >> ReplyTo: [email protected] >> Cc: <[email protected]> >> Subject: Re: NoSuchMethodError: ... (LJava/lang/String) >> Dear Jose, >> >> I didn't use WSDL to generate any stud code. What I am currently using is >> POJO. I don't understand why AXIS has such a design on Web services? >> >> Thanks, >> LB >> >> On Mon, Mar 14, 2011 at 7:35 PM, JOSE L MARTINEZ-AVIAL <[email protected]> >> wrote: >>> >>> can you provide the WSDL you are using? >>> >>> 2011/3/14 Bing Li <[email protected]> >>>> >>>> Sorry to send the question again. I forgot putting the example code in >>>> the previous email. The code is as follows. It works fine. However, my code >>>> does not. >>>> >>>> public class AddressBookService { >>>> >>>> private HashMap entries = new HashMap(); >>>> private MyAddress myaddr = new MyAddress(); >>>> >>>> /** >>>> * Add an Entry to the Address Book >>>> * @param entry >>>> */ >>>> public void addEntry(Entry entry) { >>>> this.entries.put(entry.getName(), entry); >>>> } >>>> >>>> /** >>>> * Search an address of a person >>>> * >>>> * @param name the name of the person whose address needs to be >>>> found >>>> * @return return the address entry of the person. >>>> */ >>>> public Entry findEntry(String name) { >>>> return myaddr.getAddr(name); >>>> } >>>> } >>>> >>>> >>>> On Mon, Mar 14, 2011 at 2:33 PM, Bing Li <[email protected]> wrote: >>>>> >>>>> Dear Martin, >>>>> >>>>> I appreciate so much for your help! >>>>> >>>>> However, I am still confused about the problem. I tried one example as >>>>> follows. In this example, a String is sent as a parameter. And then a >>>>> local >>>>> method, getAddr(String keyword), of an object, MyAddress, is invoked. I >>>>> noticed that it worked fine. >>>>> >>>>> My case should be the same as that. What I am wondering why such a type >>>>> Ljava/lang/String emerged! I never touched that. Moreover, even though I >>>>> changed the String to String[], the problem still exists. Really don't >>>>> understand why Web services has such a design. >>>>> >>>>> I use POJO to implement my Web services. Could you give me a hand? >>>>> >>>>> Thanks, >>>>> LB >>>>> >>>>> On Mon, Mar 14, 2011 at 9:49 AM, Martin Gainty <[email protected]> >>>>> wrote: >>>>>> >>>>>> it seems that you changed your original input or output message to >>>>>> send array of string to single string or vice versa >>>>>> >>>>>> if you see the operation SelectCategoriedHubByKey make sure your input >>>>>> and output messages reference the ArrayOfString typed element here is an >>>>>> example >>>>>> >>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>> <xsd:schema targetNamespace="http://www.test.org/sample_types" >>>>>> xmlns:tns="http://www.test.org/sample_types" >>>>>> xmlns:soap-enc="http://www.w3.org/2001/09/soap-encoding" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>> <!-- >>>>>> These will cause errors in generation but are necessary for an XML >>>>>> schema validator >>>>>> like IBM Schema Quality Checker >>>>>> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" >>>>>> >>>>>> schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/> >>>>>> <xsd:import namespace="http://www.w3.org/2001/09/soap-encoding" >>>>>> >>>>>> schemaLocation="http://www.w3.org/2001/09/soap-encoding"/> >>>>>> --> >>>>>> <xsd:complexType name="ArrayOfString"> >>>>>> <xsd:complexContent> >>>>>> <xsd:restriction base="soap-enc:Array"> >>>>>> <xsd:sequence> >>>>>> <xsd:element name="stringElement" type="xsd:string" >>>>>> minOccurs="0" maxOccurs="unbounded"/> >>>>>> </xsd:sequence> >>>>>> <xsd:attributeGroup ref="soap-enc:arrayAttributes"/> >>>>>> <xsd:attributeGroup ref="soap-enc:commonAttributes"/> >>>>>> </xsd:restriction> >>>>>> </xsd:complexContent> >>>>>> </xsd:complexType> >>>>>> >>>>>> <xsd:element name="strings" type="tns:ArrayOfString" nillable="true" >>>>>> minOccurs="1" maxOccurs="1" /> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> <!-- you can reference element name 'strings' for either InputMessage >>>>>> or OutputMessage for your SelectCategoriedHubByKey operation --> >>>>>> >>>>>> Martin >>>>>> ______________________________________________ >>>>>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de >>>>>> confidentialité >>>>>> >>>>>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene >>>>>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede >>>>>> unbefugte >>>>>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht >>>>>> dient lediglich dem Austausch von Informationen und entfaltet keine >>>>>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von >>>>>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. >>>>>> >>>>>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes >>>>>> pas le destinataire prévu, nous te demandons avec bonté que pour >>>>>> satisfaire >>>>>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la >>>>>> copie >>>>>> de ceci est interdite. Ce message sert à l'information seulement et >>>>>> n'aura >>>>>> pas n'importe quel effet légalement obligatoire. Étant donné que les >>>>>> email >>>>>> peuvent facilement être sujets à la manipulation, nous ne pouvons >>>>>> accepter >>>>>> aucune responsabilité pour le contenu fourni. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ________________________________ >>>>>> Date: Mon, 14 Mar 2011 04:16:07 +0800 >>>>>> Subject: Re: NoSuchMethodError: ... (LJava/lang/String) >>>>>> From: [email protected] >>>>>> To: [email protected] >>>>>> CC: [email protected] >>>>>> >>>>>> Dear Andreas, >>>>>> >>>>>> Thanks so much for your reply! >>>>>> >>>>>> Could you please tell me how to solve the problem? >>>>>> >>>>>> Thanks, >>>>>> LB >>>>>> >>>>>> On Mon, Mar 14, 2011 at 3:41 AM, Andreas Veithen >>>>>> <[email protected]> wrote: >>>>>> >>>>>> No, "Ljava/lang/String;" is the type descriptor used by the JVM to >>>>>> represent java.lang.String. The type descriptor for String[] would be >>>>>> "[Ljava/lang/String;". >>>>>> >>>>>> Andreas >>>>>> >>>>>> On Sun, Mar 13, 2011 at 20:31, JOSE L MARTINEZ-AVIAL >>>>>> <[email protected]> wrote: >>>>>> > I think it is trying to invoke a method with a String[] attribute, >>>>>> > not >>>>>> > simply a String. >>>>>> > >>>>>> > 2011/3/13 Bing Li <[email protected]> >>>>>> >> >>>>>> >> Dear all, >>>>>> >> >>>>>> >> I am a new Axis2 user. Today I got a weird exception when calling a >>>>>> >> Web >>>>>> >> service. >>>>>> >> >>>>>> >> This Web service is deployed on Tomcat/Axis2. I need to transmit an >>>>>> >> object >>>>>> >> (parameter) to it. The object contains a String attribute. The >>>>>> >> object is >>>>>> >> received correctly. However, when calling a local method on the >>>>>> >> remote >>>>>> >> machine, it got the following errors. I noticed that the method >>>>>> >> SelectCategoriedHubByKey(Ljava/lang/String key) cannot be found on >>>>>> >> the >>>>>> >> machine. Actually, the method should be >>>>>> >> SelectCategoriedHubByKey(String >>>>>> >> key). Why is the parameter changed from String to >>>>>> >> LJava/lang/String? How to >>>>>> >> solve the problem? >>>>>> >> >>>>>> >> Thanks so much! >>>>>> >> LB >>>>>> >> >>>>>> >> [ERROR] >>>>>> >> >>>>>> >> com.greatfree.OODB.CategorizedHubDB.SelectCategorizedHubByKey(Ljava/lang/String;)Lcom/greatfree/OODB/CategorizedHub; >>>>>> >> java.lang.reflect.InvocationTargetException >>>>>> >> 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:597) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) >>>>>> >> at >>>>>> >> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144) >>>>>> >> at >>>>>> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:641) >>>>>> >> at >>>>>> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:558) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:379) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:259) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:237) >>>>>> >> at >>>>>> >> >>>>>> >> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:281) >>>>>> >> at >>>>>> >> >>>>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>>>> >> at >>>>>> >> >>>>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>>>> >> at java.lang.Thread.run(Thread.java:662) >>>>>> >> Caused by: java.lang.NoSuchMethodError: >>>>>> >> >>>>>> >> com.greatfree.OODB.CategorizedHubDB.SelectCategorizedHubByKey(Ljava/lang/String;)Lcom/greatfree/OODB/CategorizedHub; >>>>>> >> at >>>>>> >> com.greatfree.HTTP.CategorizedHubService.getCategorizedHub(Unknown >>>>>> >> Source) >>>>>> >> ... 29 more >>>>>> >> >>>>>> > >>>>>> > >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>>> >>>>> >>>> >>> >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
