This looks like bug 9637 - it should be fixed in the current cvs source (but not in beta 2).
What version are you using? Blake > -----Original Message----- > From: Kai Steven Kunze [mailto:[EMAIL PROTECTED]] > Sent: Monday, June 10, 2002 11:26 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: ... again multiRef problem with .Net client > > > Hi, > I set up a Axis Server on Tomcat4b3 and I try to invoke a web > service on it from > a .Net Client. Everything worked fine untill I used a method > enterItem(String > session, Order order) where order is a bean. If this method > is invoked by the > .Net Client, the business logic is working, meaning the item > is added in the > database. However, the response the .Net Client gets back is > an exception: > Unhandled Exception: System.Web.Services.Protocols.SoapException: > java.lang.IllegalArgumentException: argument type mismatch > > With a WSDL2Java client it just works fine ... > I compared the two SOAP requests, that's what I found out: > The WSDL2Java client request includes a multiRef tag with > other specs then the > .Net Client (see the attached requests). > Could anybody please help me to fix this problem ? What is it > related to and why > is the Axis implementation executing the business logic > perfectly, but throwing > an exception at the end ?? > > Thanks in advance. > > mfg, > > Kai. > > > > > The WSDL2Java client request: > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope > SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> > <SOAP-ENV:Body> > <ns1:enterItem xmlns:ns1="enterItem"> > <id xsi:type="xsd:string">7245716</id> > <order href="#id0"/> > </ns1:enterItem> > <multiRef id="id0" SOAP-ENC:root="0" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="ns3:Order" > xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/:encodingStyle" > xmlns:ns3="urn:service.ws"> > <prod xsi:type="xsd:string">CDROM</prod> > <price xsi:type="xsd:string">12345</price> > </multiRef> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > The .Net Client request: > <?xml version="1.0" encoding="utf-8"?> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns="http://localhost/axis/services/login" > xmlns:types="http://localhost/axis/services/login/encodedTypes" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <soap:Body > soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > <q1:enterItem xmlns:q1="enterItem"> > <id xsi:type="xsd:string">14467747</id> > <order href="#id1" /> > </q1:enterItem> > <q2:Order id="id1" xsi:type="q2:Order" > xmlns:q2="urn:service.ws"> > <prod xsi:type="xsd:string">CDROM </prod> > <price xsi:type="xsd:string">12345</price> > </q2:Order> > </soap:Body> > </soap:Envelope> > > > On the server side I get this exception: > > - Exception: > java.lang.IllegalArgumentException: argument type mismatch > at org.apache.axis.AxisFault.makeFault(AxisFault.java:116) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: > 267) > at > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg > y.java:71) > at > org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:154) > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:121) > at > org.apache.axis.server.AxisServer.invoke(AxisServer.java:288) > at > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:57 > 6) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:243) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:190) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve > .java:246) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > 2347) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:180) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche > rValve.java:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: > 468) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:174) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso > r.java:1027) > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja > va:1125) > at java.lang.Thread.run(Thread.java:536) > Caused by: java.lang.IllegalArgumentException: argument type mismatch > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > sorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider > .java:229) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: > 262) > -- > Diese E-Mail enthaelt vertrauliche oder rechtlich geschuetzte > Informationen. > Wenn Sie nicht der beabsichtigte Empfaenger sind, informieren > Sie bitte > sofort den Absender und loeschen Sie diese E-Mail. Das > unbefugte Kopieren > dieser E-Mail oder die unbefugte Weitergabe der enthaltenenen > Informationen > ist nicht gestattet. > > The information contained in this message is confidential or > protected by > law. If you are not the intended recipient, please contact > the sender and > delete this message. Any unauthorised copying of this message or > unauthorised distribution of the information contained herein > is prohibited. > >