You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Bing Li <lb...@gmail.com> on 2011/03/13 20:13:53 UTC

NoSuchMethodError: ... (LJava/lang/String)

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

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
Jose,

I changed the parameter from String to String[]. However it got the same
exception. The only different thing is that Ljava/lang/String to
[Ljava/lang/String. I really don't understand what's going on! Could you
tell me how to solve it?

Thanks,
LB

On Mon, Mar 14, 2011 at 3:51 AM, Bing Li <lb...@gmail.com> wrote:

> Jose
>
> I appreciate so much for your help!
>
> You mean I should change the parameter of the local method from String to
> String[]? I will take a try.
>
> Thanks,
> LB
>
>
> On Mon, Mar 14, 2011 at 3:31 AM, JOSE L MARTINEZ-AVIAL <jl...@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 <lb...@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
>>>
>>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
Jose

I appreciate so much for your help!

You mean I should change the parameter of the local method from String to
String[]? I will take a try.

Thanks,
LB

On Mon, Mar 14, 2011 at 3:31 AM, JOSE L MARTINEZ-AVIAL <jl...@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 <lb...@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
>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
Dear Andreas,

After checking my system carefully, I noticed that one package was compiled
by JDK 1.3. After compiling by JDK 1.6, everything is fine.

I appreciate so much for your and other guys' help!

Best,
LB

On Mon, Mar 14, 2011 at 10:48 PM, Andreas Veithen <andreas.veithen@gmail.com
> wrote:

> That is your interpretation. What the stack trace really says is that
> Axis2 successfully invokes your service (namely
> CategorizedHubService#getCategorizedHub), but that there is an issue
> in your service. A NoSuchMethodError (in contrast to
> NoSuchMethodException) usually indicates a problem with the build
> (wrong version of a class packaged into the application) or a class
> loader problem (multiple versions of the same class in classpaths of
> different class loaders).
>
> Andreas
>
> On Mon, Mar 14, 2011 at 15:14, Bing Li <lb...@gmail.com> wrote:
> > However, it makes my method cannot be invoked!
> >
> > Thanks!
> > LB
> >
> > On Mon, Mar 14, 2011 at 10:12 PM, Andreas Veithen
> > <an...@gmail.com> wrote:
> >>
> >> 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 <lb...@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, <jl...@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 <lb...@gmail.com>
> >> >> Date: Mon, 14 Mar 2011 21:48:14 +0800
> >> >> To: JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
> >> >> ReplyTo: bing.li@asu.edu
> >> >> Cc: <ja...@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
> >> >> <jl...@gmail.com>
> >> >> wrote:
> >> >>>
> >> >>> can you provide the WSDL you are using?
> >> >>>
> >> >>> 2011/3/14 Bing Li <lb...@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 <lb...@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
> >> >>>>>> <an...@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
> >> >>>>>> <jl...@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 <lb...@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
> >>
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: java-user-help@axis.apache.org
>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Andreas Veithen <an...@gmail.com>.
That is your interpretation. What the stack trace really says is that
Axis2 successfully invokes your service (namely
CategorizedHubService#getCategorizedHub), but that there is an issue
in your service. A NoSuchMethodError (in contrast to
NoSuchMethodException) usually indicates a problem with the build
(wrong version of a class packaged into the application) or a class
loader problem (multiple versions of the same class in classpaths of
different class loaders).

Andreas

On Mon, Mar 14, 2011 at 15:14, Bing Li <lb...@gmail.com> wrote:
> However, it makes my method cannot be invoked!
>
> Thanks!
> LB
>
> On Mon, Mar 14, 2011 at 10:12 PM, Andreas Veithen
> <an...@gmail.com> wrote:
>>
>> 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 <lb...@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, <jl...@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 <lb...@gmail.com>
>> >> Date: Mon, 14 Mar 2011 21:48:14 +0800
>> >> To: JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
>> >> ReplyTo: bing.li@asu.edu
>> >> Cc: <ja...@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
>> >> <jl...@gmail.com>
>> >> wrote:
>> >>>
>> >>> can you provide the WSDL you are using?
>> >>>
>> >>> 2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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
>> >>>>>> <an...@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
>> >>>>>> <jl...@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 <lb...@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
>>
>
>

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


Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
However, it makes my method cannot be invoked!

Thanks!
LB

On Mon, Mar 14, 2011 at 10:12 PM, Andreas Veithen <andreas.veithen@gmail.com
> wrote:

> 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 <lb...@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, <jl...@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 <lb...@gmail.com>
> >> Date: Mon, 14 Mar 2011 21:48:14 +0800
> >> To: JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
> >> ReplyTo: bing.li@asu.edu
> >> Cc: <ja...@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 <lb...@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 <lb...@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 <mg...@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
> >>>>>> <an...@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
> >>>>>> <jl...@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 <lb...@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
>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Andreas Veithen <an...@gmail.com>.
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 <lb...@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, <jl...@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 <lb...@gmail.com>
>> Date: Mon, 14 Mar 2011 21:48:14 +0800
>> To: JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
>> ReplyTo: bing.li@asu.edu
>> Cc: <ja...@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 <jl...@gmail.com>
>> wrote:
>>>
>>> can you provide the WSDL you are using?
>>>
>>> 2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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
>>>>>> <an...@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
>>>>>> <jl...@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 <lb...@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


Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
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, <jl...@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 <lb...@gmail.com>
> *Date: *Mon, 14 Mar 2011 21:48:14 +0800
> *To: *JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
> *ReplyTo: * bing.li@asu.edu
> *Cc: *<ja...@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 <jl...@gmail.com>wrote:
>
>> can you provide the WSDL you are using?
>>
>>
>> 2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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 <jl...@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 <lb...@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
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by jl...@gmail.com.
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

-----Original Message-----
From: Bing Li <lb...@gmail.com>
Date: Mon, 14 Mar 2011 21:48:14 
To: JOSE L MARTINEZ-AVIAL<jl...@gmail.com>
Reply-To: bing.li@asu.edu
Cc: <ja...@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 <jl...@gmail.com>wrote:

> can you provide the WSDL you are using?
>
>
> 2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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 <jl...@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 <lb...@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
>>>>
>>>>
>>>>
>>>
>>
>


Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
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 <jl...@gmail.com>wrote:

> can you provide the WSDL you are using?
>
>
> 2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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 <jl...@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 <lb...@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
>>>>
>>>>
>>>>
>>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by JOSE L MARTINEZ-AVIAL <jl...@gmail.com>.
can you provide the WSDL you are using?

2011/3/14 Bing Li <lb...@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 <lb...@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 <mg...@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 <jl...@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 <lb...@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
>>>
>>>
>>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@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 <lb...@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 <mg...@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 <jl...@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 <lb...@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
>>
>>
>>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@gmail.com>.
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 <mg...@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 <jl...@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 <lb...@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
>
>
>

RE: NoSuchMethodError: ... (LJava/lang/String)

Posted by Martin Gainty <mg...@hotmail.com>.
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 <an...@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 <jl...@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 <lb...@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




 		 	   		  

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Bing Li <lb...@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
<an...@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 <jl...@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 <lb...@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
>
>

Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by Andreas Veithen <an...@gmail.com>.
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 <jl...@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 <lb...@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


Re: NoSuchMethodError: ... (LJava/lang/String)

Posted by JOSE L MARTINEZ-AVIAL <jl...@gmail.com>.
I think it is trying to invoke a method with a String[] attribute, not
simply a String.

2011/3/13 Bing Li <lb...@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
>
>