Dear Martin,

I appreciate so much for your help!

However, I am still confused about the problem. I tried one example as
follows. In this example, a String is sent as a parameter. And then a local
method, getAddr(String keyword), of an object, MyAddress, is invoked. I
noticed that it worked fine.

My case should be the same as that. What I am wondering why such a type
Ljava/lang/String emerged! I never touched that. Moreover, even though I
changed the String to String[], the problem still exists. Really don't
understand why Web services has such a design.

I use POJO to implement my Web services. Could you give me a hand?

Thanks,
LB

On Mon, Mar 14, 2011 at 9:49 AM, Martin Gainty <[email protected]> wrote:

>  it seems that you changed your original input or output message to send
> array of string to single string or vice versa
>
> if you see the operation SelectCategoriedHubByKey make sure your input and
> output messages reference the ArrayOfString typed element here is an example
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="http://www.test.org/sample_types";
>             xmlns:tns="http://www.test.org/sample_types";
>             xmlns:soap-enc="http://www.w3.org/2001/09/soap-encoding";
>         xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>   <!--
>     These will cause errors in generation but are necessary for an XML
> schema validator
>     like IBM Schema Quality Checker
>     <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/";
>                 schemaLocation="http://schemas.xmlsoap.org/soap/encoding/
> "/>
>     <xsd:import namespace="http://www.w3.org/2001/09/soap-encoding";
>                 schemaLocation="http://www.w3.org/2001/09/soap-encoding"/>
>   -->
>   <xsd:complexType name="ArrayOfString">
>     <xsd:complexContent>
>       <xsd:restriction base="soap-enc:Array">
>         <xsd:sequence>
>           <xsd:element name="stringElement" type="xsd:string" minOccurs="0"
> maxOccurs="unbounded"/>
>         </xsd:sequence>
>         <xsd:attributeGroup ref="soap-enc:arrayAttributes"/>
>         <xsd:attributeGroup ref="soap-enc:commonAttributes"/>
>       </xsd:restriction>
>     </xsd:complexContent>
>   </xsd:complexType>
>
>   <xsd:element name="strings" type="tns:ArrayOfString" nillable="true"
> minOccurs="1" maxOccurs="1" />
>
> <!-- you can reference element name 'strings' for either InputMessage or
> OutputMessage for your SelectCategoriedHubByKey operation -->
>
> Martin
> ______________________________________________
> Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
>
> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte
> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht
> dient lediglich dem Austausch von Informationen und entfaltet keine
> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von
> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>
> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le 
> destinataire prévu, nous te demandons avec bonté que pour satisfaire informez 
> l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci 
> est interdite. Ce message sert à l'information seulement et n'aura pas 
> n'importe quel effet légalement obligatoire. Étant donné que les email 
> peuvent facilement être sujets à la manipulation, nous ne pouvons accepter 
> aucune responsabilité pour le contenu fourni.
>
>
>
>
>
>
> ------------------------------
> Date: Mon, 14 Mar 2011 04:16:07 +0800
> Subject: Re: NoSuchMethodError: ... (LJava/lang/String)
> From: [email protected]
> To: [email protected]
> CC: [email protected]
>
>
> Dear Andreas,
>
> Thanks so much for your reply!
>
> Could you please tell me how to solve the problem?
>
> Thanks,
> LB
>
> On Mon, Mar 14, 2011 at 3:41 AM, Andreas Veithen <
> [email protected]> wrote:
>
> No, "Ljava/lang/String;" is the type descriptor used by the JVM to
> represent java.lang.String. The type descriptor for String[] would be
> "[Ljava/lang/String;".
>
> Andreas
>
> On Sun, Mar 13, 2011 at 20:31, JOSE L MARTINEZ-AVIAL <[email protected]>
> wrote:
> > I think it is trying to invoke a method with a String[] attribute, not
> > simply a String.
> >
> > 2011/3/13 Bing Li <[email protected]>
> >>
> >> Dear all,
> >>
> >> I am a new Axis2 user. Today I got a weird exception when calling a Web
> >> service.
> >>
> >> This Web service is deployed on Tomcat/Axis2. I need to transmit an
> object
> >> (parameter) to it. The object contains a String attribute. The object is
> >> received correctly. However, when calling a local method on the remote
> >> machine, it got the following errors. I noticed that the method
> >> SelectCategoriedHubByKey(Ljava/lang/String key) cannot be found on the
> >> machine. Actually, the method should be SelectCategoriedHubByKey(String
> >> key). Why is the parameter changed from String to LJava/lang/String? How
> to
> >> solve the problem?
> >>
> >> Thanks so much!
> >> LB
> >>
> >> [ERROR]
> >>
> com.greatfree.OODB.CategorizedHubDB.SelectCategorizedHubByKey(Ljava/lang/String;)Lcom/greatfree/OODB/CategorizedHub;
> >> java.lang.reflect.InvocationTargetException
> >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>         at
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >>         at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>         at java.lang.reflect.Method.invoke(Method.java:597)
> >>         at
> >>
> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
> >>         at
> >>
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
> >>         at
> >>
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> >>         at
> >>
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
> >>         at
> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
> >>         at
> >>
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
> >>         at
> >> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> >>         at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
> >>         at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> >>         at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> >>         at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
> >>         at
> >>
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:558)
> >>         at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> >>         at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:379)
> >>         at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
> >>         at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:259)
> >>         at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:237)
> >>         at
> >>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:281)
> >>         at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >>         at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >>         at java.lang.Thread.run(Thread.java:662)
> >> Caused by: java.lang.NoSuchMethodError:
> >>
> com.greatfree.OODB.CategorizedHubDB.SelectCategorizedHubByKey(Ljava/lang/String;)Lcom/greatfree/OODB/CategorizedHub;
> >>         at
> >> com.greatfree.HTTP.CategorizedHubService.getCategorizedHub(Unknown
> Source)
> >>         ... 29 more
> >>
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>

Reply via email to