cancel
Showing results for 
Search instead for 
Did you mean: 

XML Deserialization Error

Former Member
0 Kudos

Hi,

There was a requirement to call a webservice created in .net. So a Deployable Proxy was created in NWDS. When a method of the webservice is called , the following error is encountered.

java.rmi.RemoteException: Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. No deserializer found for XML type [http://syngenta.news.org/][/wsdl:definitions/wsdl:types/s:schema/s:element[2]/s:complexType/s:sequence/s:element/s:complexType] to deserialize class [unknown]. Check if type mapping file is correct or right objects are passed

Any pointers are very appreciated.

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

Hi,

I have had the same problem. It just means that one or more parameters are not passed correctly, for e.g. instead of 10 positions, 30 are passed.

Best Regards,

Diana

Former Member
0 Kudos

Hi ,

we need to pass 4 parameters.i have done the same.Could anyone provide pointers?

Thanks in advance.

Regards,

Sreedevi

Former Member
0 Kudos

Hi Sreedevi,

I think there's something wrong with the response coming back from .NET, i.e. data OR data types etc. does not comply with the proxy you've generated.

Do a comparison with the response data being generated from .NET if you can get your hands on a response message & your proxy (check for things like length limitations & data typing comapred with what values are passed in the response). Alternatively, the .NET WSDL may have changed, get an up-to-date version of the WSDL & re-generate your proxy with that WSDL & then see if it works.

Regards, Trevor

Edited by: Trevor Naidoo on May 17, 2011 9:14 AM

Former Member
0 Kudos

Hi Trevor,

I created the deplyable proxy again for the given webservice link.Then also i am facing this problem.

Any Pointers are very helpful.

Regards,

Sreedevi

Former Member
0 Kudos

Hi Sreedevi,

Can you perhaps get the .NET developer/s to trace your request & the response they generate?

If this is possible then you can use the response data being passed back to you & do a compare that against the XSD data typing in the WSDL your're using.

If it's not possible then you have your work cut out for you. You could possible setup some logs / traces in the SAP Web AS Java to try & catch the response coming back from .NET & then use the reponse to compare whether all data is being passed as the WSDL specifies:

[http://help.sap.com/saphelp_nwpi711/helpdata/en/60/aec0b110a940d09e7a296c09af27bf/frameset.htm]

I haven't really had the need to use this log & trace functionality so I can't offer much guidance on setting this up.

The other option would be to setup a mock response using a tool like SoapUI & setting up SoapUI to mimic (with an endpoint) the .NET provider. The good thing about this option is that SoapUI will generate a mock response with test response data aligned to the WSDL specifications. So you would then call the SoapUI endpoint from your proxy & then it will return the mock response, you can then establish exactly where the problem is. There is a blog on SDN depicting how this can be done but I can't seem to find it right now, see if you can.

Regards, Trevor

Former Member
0 Kudos

Hi Trevor ,

We are using a Webservice Navigator to check the response from .Net Webservice. We are Partially receiving the response with the Deserialization Error. Web Services Navigator is a tool that gives a short overview for a specific Web service based on its WSDL and allows you to test Web service by sending a client request.

When we are calling the function through NWDS nothing is retrieved as there is an exception.

Thanks and Regards,

Sreedevi

Edited by: sreedevi pothamsetty on May 18, 2011 1:59 PM

Any pointers are very helpful.