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 Nuno Guerreiro <nv...@yahoo.com> on 2002/04/19 10:47:14 UTC

Problem calling Axis service from .Net

Axis generates a 'java.lang.IllegalArgumentException'
when a request from a .Net (VB-based) client. 

I suspect of the way hrefs are built. Axis understands
the 'multiRef' element, but the .Net request doesn't
use the 'multiRef' element.

The test client generated by Axis WSDL2JAVA work fine.

Any ideas?


Many thanks,


Nuno Guerreiro



Following is the request:

POST /axis/services/getDDAccounts HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web
Services Client Protocol 1.0.3705.209)

Content-Type: text/xml; charset=utf-8

SOAPAction: ""

Content-Length: 1273

Expect: 100-continue

Host: golduck




<?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://golduck:8080/axis/services/getDDAccounts"
xmlns:types="http://golduck:8080/axis/services/getDDAccounts/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/">
   <tns:getDDAccounts>
    <in href="#id1" />
    <inputContext href="#id2" />
   </tns:getDDAccounts>
   <q1:DDAccountsInputType id="id1"
xsi:type="q1:DDAccountsInputType"
xmlns:q1="http://www.cidadebcp.pt/webservices/schemas/getDDAccounts"
/>
   <q2:InputContextType id="id2"
xsi:type="q2:InputContextType"
xmlns:q2="http://www.cidadebcp.pt/webservices/schemas/types">
    <channel xsi:type="xsd:string">WAP
    </channel>
    <device href="#id3" />
    <source xsi:type="xsd:string">ONIWAY
    </source>
    <deferExecution xsi:type="xsd:boolean">false
    </deferExecution>
    <securityCodeValues xsi:type="xsd:string">123
    </securityCodeValues>
   </q2:InputContextType>
   <q3:DeviceType id="id3" xsi:type="q3:DeviceType"
xmlns:q3="http://www.cidadebcp.pt/webservices/schemas/types">
    <id xsi:type="xsd:string">435345345
    </id>
   </q3:DeviceType>
  </soap:Body>
 </soap:Envelope>

-----------------------------------------------------
And the error generated is:

<?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://golduck:8080/axis/services/getDDAccounts"
xmlns:types="http://golduck:8080/axis/services/getDDAccounts/encodedTypes"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
  <soap:Body>
  
   <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(Unknown
Source)&#xd;
	at
org.apache.axis.providers.java.JavaProvider.invoke(Unknown
Source)&#xd;
	at
org.apache.axis.strategies.InvocationStrategy.visit(Unknown
Source)&#xd;
	at org.apache.axis.SimpleChain.doVisiting(Unknown
Source)&#xd;
	at org.apache.axis.SimpleChain.invoke(Unknown
Source)&#xd;
	at org.apache.axis.server.AxisServer.invoke(Unknown
Source)&#xd;
	at
org.apache.axis.transport.http.AxisServlet.doPost(Unknown
Source)&#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(ApplicationFilterChain.java:247)&#xd;
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)&#xd;
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)&#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.java:201)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)&#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:2344)&#xd;
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)&#xd;
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)&#xd;
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)&#xd;
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)&#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:163)&#xd;
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)&#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:1011)&#xd;
	at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)&#xd;
	at java.lang.Thread.run(Thread.java:484)&#xd;

     </ns2:stackTrace>
   
    </detail>
  
   </soap:Fault>
 
  </soap:Body>

 </soap:Envelope>

__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/