You didn't define a typemapping for ArrayOf_xsd_string.

Anne

On Tue, Aug 26, 2008 at 5:26 AM, O. Bigalk <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I am developing a web service with a method that takes a complex type as
> parameter.
> The method takes three parameters the first is an String the second is an
> array of String an the third is an array of FeatureCategoryTreePath which is
> the complex type. Both parameter are nillable. When I call the method with
> the second paremeter set to null all works fine
> but when I call the method with a non null value I get the exception below.
> Here is the SOAP request send to the service.
> <soapenv:Envelope
>        xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>        xmlns:q0="http://webservice.moses.prisma.de";
>        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>   <soapenv:Body>
>      <q0:getResultListWithKeywordsAndFeatures>
>         <q0:identity>1234</q0:identity>
>         <q0:keywords>
>            <q0:item>S2</q0:item>
>         </q0:keywords>
>         <q0:features>
>            <q0:item>
>               <q0:idArray>
>                  <q0:item>1</q0:item>
>                  <q0:item>4</q0:item>
>               </q0:idArray>
>               <q0:nameArray xsi:nil="true"/>
>               <q0:toleranceArray xsi:nil="true"/>
>               <q0:valueArray>
>                  <q0:item>wert</q0:item>
>               </q0:valueArray>
>            </q0:item>
>         </q0:features>
>      </q0:getResultListWithKeywordsAndFeatures>
>   </soapenv:Body></soapenv:Envelope>
>
>
> Here the exception thrown.
>
> javax.ejb.EJBException: java.lang.IllegalArgumentException: Wrong target.
> class de.prisma.moses.webfrontend.reference.RefObjectFinderBean for public
> ava.util.List
> de.prisma.moses.webfrontend.reference.RefObjectFinderBean.getResultListWithKeywordsAndFeatures(java.lang.String[],de.prisma.moses.ejb.session.FeatureCategoryPathQuery[])
>        at
> org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
>        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
>        at
> org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:81)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:297)
>        at
> org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:59)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:133)
>        at $Proxy2437.getResultListWithKeywordsAndFeatures(Unknown Source)
>        at
> de.prisma.moses.webservice.SimilarityRequest.getResultListWithKeywordsAndFeatures(SimilarityRequest.java:565)
>        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.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
>        at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
>        at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>        at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>        at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
>        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
>        at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>        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.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>        at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
>        at
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
>        at
> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
>        at
> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
>        at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>        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.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>        at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
>        at
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
>        at
> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
>        at
> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>        at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
>        at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>        at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>        at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>        at
> org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IllegalArgumentException: Wrong target. class
> de.prisma.moses.webfrontend.reference.RefObjectFinderBean for public
> java.util.List
> de.prisma.moses.webfrontend.reference.RefObjectFinderBean.getResultListWithKeywordsAndFeatures(java.lang.String[],de.prisma.moses.ejb.session.Featur
> CategoryPathQuery[])
>        at
> org.jboss.aop.joinpoint.MethodInvocation.handleErrors(MethodInvocation.java:141)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:116)
>        at
> org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
>        at
> org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:37)
>        at
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
>        at
> org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47)
>        at
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
>        at
> org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
>        at
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
>        at
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:113)
>        at
> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:53)
>        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.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
>        at
> org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:71)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at
> org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
>        at
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
>        ... 76 more
>
>
> Here is an excerpt from the WSDL file.
> <schema>
>   ...
>   <element name="getResultListWithKeywordsAndFeatures">
>    <complexType>
>     <sequence>
>      <element name="identity" type="xsd:string"/>
>      <element name="keywords" nillable="true"
> type="impl:ArrayOf_xsd_string"/>
>      <element name="features" nillable="true"
> type="impl:ArrayOfFeatureCategoryTreePath"/>
>     </sequence>
>    </complexType>
>   </element>
>   <element name="getResultListWithKeywordsAndFeaturesResponse">
>    <complexType>
>     <sequence>
>      <element name="getResultListWithKeywordsAndFeaturesReturn"
> type="impl:ResultList"/>
>     </sequence>
>    </complexType>
>   </element>
>   <complexType name="ArrayOfFeatureCategoryTreePath">
>    <sequence>
>     <element maxOccurs="unbounded" minOccurs="0" name="item"
> type="impl:FeatureCategoryTreePath"/>
>    </sequence>
>   </complexType>
>   <complexType name="FeatureCategoryTreePath">
>    <sequence>
>     <element name="searchValueType" nillable="true" type="xsd:string"/>
>     <element name="idArray" nillable="true" type="impl:ArrayOf_xsd_fc_id"/>
>     <element name="nameArray" nillable="true"
> type="impl:ArrayOf_xsd_string"/>
>     <element name="toleranceArray" nillable="true"
> type="impl:ArrayOf_xsd_string"/>
>     <element name="valueArray" nillable="true"
> type="impl:ArrayOf_xsd_string"/>
>    </sequence>
>   </complexType>
>   <complexType name="ArrayOf_xsd_string">
>    <sequence>
>     <element maxOccurs="unbounded" minOccurs="0" name="item"
> type="xsd:string"/>
>    </sequence>
>   </complexType>
>   <complexType name="ArrayOf_xsd_fc_id">
>    <sequence>
>     <element maxOccurs="unbounded" minOccurs="2" name="item"
> type="xsd:int"/>
>    </sequence>
>   </complexType>
>   ...
> </schema>
> ...
>
>   <wsdl:message name="getResultListWithKeywordsAndFeaturesRequest">
>
>      <wsdl:part element="impl:getResultListWithKeywordsAndFeatures"
> name="parameters"/>
>
>   </wsdl:message>
>
>   <wsdl:message name="getResultListWithKeywordsAndFeaturesResponse">
>
>      <wsdl:part element="impl:getResultListWithKeywordsAndFeaturesResponse"
> name="parameters"/>
>
>   </wsdl:message>
> ...
>
>   <wsdl:portType name="SimilarityRequest">
>      <wsdl:operation name="getResultListWithKeywordsAndFeatures">
>
>         <wsdl:input
> message="impl:getResultListWithKeywordsAndFeaturesRequest"
> name="getResultListWithKeywordsAndFeaturesRequest"/>
>
>         <wsdl:output
> message="impl:getResultListWithKeywordsAndFeaturesResponse"
> name="getResultListWithKeywordsAndFeaturesResponse"/>
>
>      </wsdl:operation>
>        ...
>   </wsdl:portType>
> ...
>   <wsdl:binding name="SimilarityRequestSoapBinding"
> type="impl:SimilarityRequest">
>      <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>      <wsdl:operation name="getResultListWithKeywordsAndFeatures">
>
>         <wsdlsoap:operation soapAction=""/>
>
>         <wsdl:input name="getResultListWithKeywordsAndFeaturesRequest">
>
>            <wsdlsoap:body use="literal"/>
>
>         </wsdl:input>
>
>         <wsdl:output name="getResultListWithKeywordsAndFeaturesResponse">
>
>            <wsdlsoap:body use="literal"/>
>
>         </wsdl:output>
>
>      </wsdl:operation>
>      ...
>   </wsdl:binding>
>
> Here an excerpt from my server-config.wsdd
>
>        <service name="SimilarityRequest" provider="java:RPC"
>                style="wrapped" use="literal">
>        ...
>        <operation xmlns:operNS="http://webservice.moses.prisma.de";
>                xmlns:retNS="http://webservice.moses.prisma.de";
>                xmlns:rtns="http://webservice.moses.prisma.de";
>                name="getResultListWithKeywordsAndFeatures"
>                qname="operNS:getResultListWithKeywordsAndFeatures"
>                returnQName="retNS:getResultListWithKeywordsAndFeaturesReturn"
>                returnType="rtns:ResultList" soapAction="">
>                <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                        xmlns:tns="http://www.w3.org/2001/XMLSchema"; 
> qname="pns:identity"
>                        type="tns:string" />
>                <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                        xmlns:tns="http://session.ejb.moses.prisma.de"; 
> qname="pns:keywords"
>                        type="tns:string" />
>                <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                        xmlns:tns="http://session.ejb.moses.prisma.de"; 
> qname="pns:features"
>                        type="tns:FeatureCategoryTreePath" />
>        </operation>
>        ...
>        <parameter name="allowedMethods" value="...
> getResultListWithKeywordsAndFeatures ..." />
>        ...
>
> Here an excerpt from my deploy.wsdd
>
>  <service name="SimilarityRequest" provider="java:RPC" style="wrapped"
> use="literal">
>      <parameter name="wsdlTargetNamespace"
> value="http://webservice.moses.prisma.de"/>
>      <parameter name="wsdlServiceElement"
> value="SimilarityRequestService"/>
>      <parameter name="schemaQualified"
> value="http://webservice.moses.prisma.de"/>
>      <parameter name="wsdlServicePort" value="SimilarityRequest"/>
>      <parameter name="className"
> value="de.prisma.moses.webservice.SimilarityRequest"/>
>      <parameter name="wsdlPortType" value="SimilarityRequest"/>
>      <parameter name="typeMappingVersion" value="1.2"/>
>
>      <operation xmlns:operNS="http://webservice.moses.prisma.de";
>        xmlns:retNS="http://webservice.moses.prisma.de";
>        xmlns:rtns="http://webservice.moses.prisma.de";
>        name="getResultListWithKeywordsAndFeatures"
>        qname="operNS:getResultListWithKeywordsAndFeatures"
>        returnQName="retNS:getResultListWithKeywordsAndFeaturesReturn"
>        returnType="rtns:ResultList" soapAction="">
>
>        <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                xmlns:tns="http://www.w3.org/2001/XMLSchema";
>                qname="pns:identity" type="tns:string" />
>
>        <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                xmlns:tns="http://www.w3.org/2001/XMLSchema";
>                qname="pns:keywords" type="tns:string" />
>
>        <parameter xmlns:pns="http://webservice.moses.prisma.de";
>                xmlns:tns="http://webservice.moses.prisma.de";
>                qname="pns:features" type="tns:FeatureCategoryTreePath" />
>      </operation>
>      <parameter name="allowedMethods" value="...
> getResultListWithKeywordsAndFeatures ..."/>
>
>      <arrayMapping xmlns:ns="http://webservice.moses.prisma.de";
>        xmlns:cmp-ns="http://webservice.moses.prisma.de";
>        qname="ns:ArrayOfFeatureCategoryTreePath"
>        type="java:de.prisma.moses.webservice.FeatureCategoryTreePath[]"
>        innerType="cmp-ns:FeatureCategoryTreePath" encodingStyle="" />
>
>      <typeMapping xmlns:ns="http://webservice.moses.prisma.de";
>        qname="ns:FeatureCategoryTreePath"
>        type="java:de.prisma.moses.webservice.FeatureCategoryTreePath"
>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>        encodingStyle="" />
>
> Thanks in advance for any help.
>
> --
> View this message in context: 
> http://www.nabble.com/java.lang.IllegalArgumentException%3A-Wrong-target.-class-...-tp19158560p19158560.html
> Sent from the Axis - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to