By Jani Rautiainen-Oracle on Aug 31, 2014
Information about the web services provided by Fusion Applications is hosted in Oracle Enterprise Repository (OER). The information provided by OER can be used to understand the functionality provided by the service and how the service can be called.
This series of articles describes how one can invoke SOAP web services provided by Fusion Applications using various technologies. In previous article we covered how to invoke a Fusion Application web service using Service Reference for .Net framework. In some cases the integration may fail with de-serialization issues like in exception:
Unhandled Exception: System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation 'findOpportunity'. ---> System.InvalidOperationException: There is an error in XML document (1, 4118). ---> System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)An example of this scenario would be; where 2 EOs each of which has required attributes. A VO that is based on EO A and has a outer join on EO B. So are the attributes from EO B required or not ? In context of the outer join they are not, but when data is returned by the join what should happen when attributes in B are set to null ? For example calling OpportunityService may contain an empty value for element of type long:
<ns3:PrimaryContactPartyId/>'Which causes the exception, the definition for the element is as a number value is expected and empty value cannot be cast to a number:
<xsd:element name="PrimaryContactPartyId" type="xsd:long" minOccurs="0" sdoXML:dataType="sdoJava:LongObject"/>If the problem element from is not included in the response or the element is defined as nillable="true" then the problem does not occur.
This article describes an example how to deal with de-serialization issues for .Net integration.[Read More]