Hmm, but WSDL is not being generated from our side it is provided by the client which I can not change

 


From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 03, 2006 3:23 AM
To: [email protected]
Subject: Re: SoapMapper string could not be found

 

If the service is expecting an array of string, then the WSDL should specify that. The proper way to solve it is to fix the WSDL.

Anne

On 1/2/06, mukesh <[EMAIL PROTECTED]> wrote:

Hi,

I have a function called deliverMTMessage which accepts an array of String
as parameter but in wsdl it is defined as "anyType" and when I generate stub
using WSDL2Java the gets  mapped to following way



param = new org.apache.axis.description.ParameterDesc(new
javax.xml.namespace.QName("", "Message"),
org.apache.axis.description.ParameterDesc.IN , new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "anyType"),
java.lang.Object.class, false, false);



I am getting following error

------------------------------------



AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server

faultSubcode:

faultString: SoapMapper: The schema definition with a targetnamespace of
http://schemas.xmlsoap.org/soap/encoding/ for SoapMapper string could not be
found

faultActor: http://tempuri.org/action/clsECPAMT.deliverMTMessage

faultNode:

faultDetail:


{ http://schemas.microsoft.com/soap-toolkit/faultdetail/error/}errorInfo:<mse
rror:returnCode>-2147467259</mserror:returnCode><mserror:callStack><mserror:
callElement><mserror:component>SoapMapper</mserror:component><mserror:descri
ption>The schema definition with a targetnamespace of
http://schemas.xmlsoap.org/soap/encoding/ for SoapMapper string could not be
found</mserror:description><mserror:returnCode>-2147467259</mserror:returnCo
de></mserror:callElement><mserror:callElement><mserror:component>SoapMapper<
/mserror:component><mserror:description>Can't create mapper for array
element of type string in namespace
http://schemas.xmlsoap.org/soap/encoding/.</mserror:description><mserror:ret
urnCode>-2147467259</mserror:returnCode></mserror:callElement><mserror:callE
lement><mserror:component>SoapMapper</mserror:component><mserror:description
>Restoring data into SoapMapper (null)
failed</mserror:description><mserror:returnCode>-2147467259</mserror:returnC
ode></mserror:callElement><mserror:callElement><mserror:component>SoapMapper
</mserror:component><mserror:description>Restoring data into SoapMapper
anyType
failed</mserror:description><mserror:returnCode>-2147467259</mserror:returnC
ode></mserror:callElement><mserror:callElement><mserror:component>WSDLReader
</mserror:component><mserror:description>None of the matching operations for
soapAction http://tempuri.org/action/clsECPAMT.deliverMTMessage could
successfully load the incoming request. Potential typemapper
problem</mserror:description><mserror:returnCode>-2147467259</mserror:return
Code></mserror:callElement></mserror:callStack>



SoapMapper: The schema definition with a targetnamespace of
http://schemas.xmlsoap.org/soap/encoding/ for SoapMapper string could not be
found

        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:2
22)

        at
org.apache.axis.message.SOAPFaultBuilder.endElement (SOAPFaultBuilder.java:12
9)

        at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationCo
ntext.java:1087)

        at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java :1403)

        at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator
.java:1550)

        at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1149)

        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)

        at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)

        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)

        at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext
.java:227)

        at org.apache.axis.SOAPPart.getAsSOAPEnvelope (SOAPPart.java:696)

        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)

        at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796
)

        at
org.apache.axis.transport.http.HTTPSender.invoke (HTTPSender.java:144)

        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.client.AxisClient.invoke(AxisClient.java:165)

        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

        at org.apache.axis.client.Call.invoke(Call.java:2767)

        at org.apache.axis.client.Call.invoke(Call.java:2443)

        at org.apache.axis.client.Call.invoke(Call.java:2366)

        at org.apache.axis.client.Call.invoke (Call.java:1812)

        at
maxis.ws.ClsECPAMTSoapBindingStub.deliverMTMessage(ClsECPAMTSoapBindingStub.
java:337)

        at maxis.ws.ECPATester.main(ECPATester.java:111)

Exception: SoapMapper: The schema definition with a targetnamespace of
http://schemas.xmlsoap.org/soap/encoding/ for SoapMapper string could not be
found



How can I remove this error ? what is causing this error ?



**one way around is I can change the "anyType" to "string" manually and the
complie it ..but it doen't seems a logical problem. I am sure some you must
be knowing some smart and logical solution.



Please advice it very urgent.



-mukesh


 

Reply via email to