This topic covers a few different areas, so I am not sure which category to use. Apologize if it's in the incorrect one. But here's the situation. I have a WCF service in production that gets data from various external systems (Oracle, SQL, outside web services, etc.). The web methods are used by several other systems, and most are RESTful as well. I have several web methods that I want to surface in SharePoint using BCS, for example, ones that just return a list of HR entities that I'm getting from Oracle, like business units, departments, etc. That would be perfect as an ECT in SharePoint. So I go into SharePoint Designer and create the ECT. I am able to connect to the service and it then lists the web methods. I create the read list operation fine. But I cannot save the ECT because it expects also the read list item operation. But it will not allow me to create that one. It returns an error the second I select it: "This operation type requires input parameters. Selected data source object does not have input parameters." These methods I want to use don't have parameters. They are used to return a list of entities. So for example, if I just used the RESTful URL of one of the methods, it would return this:
<?xml version="1.0"?><ArrayOfSite xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/com.mycompany.intranet.integration.BusinessLayer.BusObjects"><Site><SiteActive>1</SiteActive><SiteCode>11000</SiteCode><SiteDescriptionLong>Los Angeles, CA</SiteDescriptionLong><SiteDescriptionShort>Los Angeles</SiteDescriptionShort></Site><Site><SiteActive>1</SiteActive><SiteCode>11101</SiteCode><SiteDescriptionLong>New York, NY</SiteDescriptionLong><SiteDescriptionShort>New York</SiteDescriptionShort></Site></ArrayOfSite>
My WSDL looks like this:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:i0="http://enterprise.arrisi.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="enterprise.mycpmpany.com" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="enterprise.mycompany.com" name="EnterpriseIntegration"><wsdl:import location="http://myserver/enterpriseintegration/IntranetIntegrationService.svc?wsdl=wsdl0" namespace="http://enterprise.mycompany.com"/><wsdl:types/><wsdl:service name="EnterpriseIntegration"><wsdl:port name="WSHttpBinding_IService" binding="i0:WSHttpBinding_IService"><soap12:address location="http://myserver/enterpriseintegration/IntranetIntegrationService.svc/basic"/><wsa10:EndpointReference><wsa10:Address>http://myserver/enterpriseintegration/IntranetIntegrationService.svc/basic</wsa10:Address><Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"><Spn>host/myserver.com</Spn></Identity></wsa10:EndpointReference></wsdl:port></wsdl:service></wsdl:definitions>
Is there something I need to do in my service that enables it to be used by an ECT? The service is already in production and used frequently, so I hope I don't need to make any serious changes to it for SharePoint to use it as a BCS entity.
Thanks to anyone who can give me some guidance.