axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Veithen <andreas.veit...@gmail.com>
Subject Re: NoSuchMethodError: ... (LJava/lang/String)
Date Mon, 14 Mar 2011 14:12:29 GMT
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 <lblabs@gmail.com> 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, <jlmagc@gmail.com> 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 <lblabs@gmail.com>
>> Date: Mon, 14 Mar 2011 21:48:14 +0800
>> To: JOSE L MARTINEZ-AVIAL<jlmagc@gmail.com>
>> ReplyTo: bing.li@asu.edu
>> Cc: <java-user@axis.apache.org>
>> 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 <jlmagc@gmail.com>
>> wrote:
>>>
>>> can you provide the WSDL you are using?
>>>
>>> 2011/3/14 Bing Li <lblabs@gmail.com>
>>>>
>>>> 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 <lblabs@gmail.com> 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 <mgainty@hotmail.com>
>>>>> 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: lblabs@gmail.com
>>>>>> To: java-user@axis.apache.org
>>>>>> CC: andreas.veithen@gmail.com
>>>>>>
>>>>>> 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
>>>>>> <andreas.veithen@gmail.com> 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
>>>>>> <jlmagc@gmail.com> wrote:
>>>>>> > I think it is trying to invoke a method with a String[] attribute,
>>>>>> > not
>>>>>> > simply a String.
>>>>>> >
>>>>>> > 2011/3/13 Bing Li <lblabs@gmail.com>
>>>>>> >>
>>>>>> >> 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: java-user-unsubscribe@axis.apache.org
>>>>>> For additional commands, e-mail: java-user-help@axis.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org


Mime
View raw message