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 blake biesecker <bl...@Snapnames.com> on 2002/05/29 03:35:40 UTC

Does Axis interoperate with .NET's multiRef syntax?

I'm struggling with an IllegalArgumentException after switching from
an Axis client to a .NET C# client and I'm suspicious of the fact
that multirefs are handled differently.

In .NET, I see:

</q1:getInfoForName><tns:TestObj id="id1" xsi:type="tns:TestObj">
	<instvara xsi:type="xsd:string">Hello</partnerid>
	<instvarb xsi:type="xsd:string">Goodbye</password>
</tns:PartnerAuthentication>

With an Axis client, I see:

  <multiRef id="id0" SOAP-ENC:root="0"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:TestObj"
xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/:encodingStyle"
xmlns:ns3="http://localhost:8080/websrv/services/TestService">
   <instvara xsi:type="xsd:string">Microsoft</instvara>
   <instvarb xsi:type="xsd:string">dotnetforever</instvarb>
  </multiRef>

Anyone know why these are represented differently and if it could
cause the stack trace below?

  <soap:Fault>
   <faultcode
xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</faultcode>
   <faultstring>java.lang.IllegalArgumentException: argument type
mismatch</faultstring>
   <detail>
    <ns2:stackTrace
xmlns:ns2="http://xml.apache.org/axis/">java.lang.IllegalArgumentException:
argument type mismatch&#xd;
	at java.lang.reflect.Method.invoke(Native Method)&#xd;
	at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:2
29)&#xd;
	at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:262)&#x
d;
	at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
71)&#xd;
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:154)&#xd;
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:121)&#xd;
	at
org.apache.axis.server.AxisServer.invoke(AxisServer.java:288)&#xd;
	at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:577)&#xd;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)&#xd;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)&#xd;
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)&#xd;
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)&#xd;
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)&
#xd;
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)&#xd;
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:190)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)&
#xd;
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)&#xd;
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)&#
xd;
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)&#xd;
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)&#xd;
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)&#xd;
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)&#x
d;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)&
#xd;
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)&#xd;
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)&
#xd;
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)&#xd;
	at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1012)&#xd;
	at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107
)&#xd;
	at java.lang.Thread.run(Thread.java:479)&#xd;

Blake