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
at java.lang.reflect.Method.invoke(Native
Method)
at
org.apache.axis.providers.java.RPCProvider.processMessage(Unknown
Source)
at
org.apache.axis.providers.java.JavaProvider.invoke(Unknown
Source)
at
org.apache.axis.strategies.InvocationStrategy.visit(Unknown
Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown
Source)
at org.apache.axis.SimpleChain.invoke(Unknown
Source)
at org.apache.axis.server.AxisServer.invoke(Unknown
Source)
at
org.apache.axis.transport.http.AxisServlet.doPost(Unknown
Source)
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(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Thread.java:484)
</ns2:stackTrace>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/