Fusion Applications provides Web services that allow external systems to
integrate with Fusion Applications. There are two types of services:
ADF services and composite services. ADF services are created for a
logical business object and provide functionality to access and
manipulate these objects. The composite services are mostly process
oriented and provide an orchestration of multiple steps.
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)
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:
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"
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