Tengo un servicio WCF existente que funciona. Agregué una referencia en Visual Studio 2010 para mi aplicación de Windows Phone. Aparece la referencia y veo los métodos cuando reviso sus propiedades. El servicio usa basicHttpBinding. Parece que la clase proxy nunca se genera. No puedo hacer referencia (sí, estoy verificando el espacio de nombres correcto)Clase proxy no disponible para Windows Phone 7 Referencia al servicio WCF
Conozco la utilidad SlSvcUtil.exe, pero se supone que ya no es necesario. ¿Alguna idea de por qué mi clase proxy no se está generando pero la referencia del servicio está ahí?
Gracias!
EDIT: archivo WSDL es el siguiente:
<?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ProjectManager" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import schemaLocation="http://somesite/ProjectManager/ProjectManager.svc?xsd=xsd0" namespace="http://tempuri.org/" /> <xsd:import schemaLocation="http://somesite/ProjectManager/ProjectManager.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> <xsd:import schemaLocation="http://somesite/ProjectManager/ProjectManager.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/ProjectManager" /> </xsd:schema> </wsdl:types> <wsdl:message name="IProjectManagerService_GetProjectList_InputMessage"> <wsdl:part name="parameters" element="tns:GetProjectList" /> </wsdl:message> <wsdl:message name="IProjectManagerService_GetProjectList_OutputMessage"> <wsdl:part name="parameters" element="tns:GetProjectListResponse" /> </wsdl:message> <wsdl:message name="IProjectManagerService_GetProjectFiles_InputMessage"> <wsdl:part name="parameters" element="tns:GetProjectFiles" /> </wsdl:message> <wsdl:message name="IProjectManagerService_GetProjectFiles_OutputMessage"> <wsdl:part name="parameters" element="tns:GetProjectFilesResponse" /> </wsdl:message> <wsdl:portType name="IProjectManagerService"> <wsdl:operation name="GetProjectList"> <wsdl:input wsaw:Action="http://tempuri.org/IProjectManagerService/GetProjectList" message="tns:IProjectManagerService_GetProjectList_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IProjectManagerService/GetProjectListResponse" message="tns:IProjectManagerService_GetProjectList_OutputMessage" /> </wsdl:operation> <wsdl:operation name="GetProjectFiles"> <wsdl:input wsaw:Action="http://tempuri.org/IProjectManagerService/GetProjectFiles" message="tns:IProjectManagerService_GetProjectFiles_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IProjectManagerService/GetProjectFilesResponse" message="tns:IProjectManagerService_GetProjectFiles_OutputMessage" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="BasicHttpBinding_IProjectManagerService" type="tns:IProjectManagerService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="GetProjectList"> <soap:operation soapAction="http://tempuri.org/IProjectManagerService/GetProjectList" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="GetProjectFiles"> <soap:operation soapAction="http://tempuri.org/IProjectManagerService/GetProjectFiles" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="ProjectManager"> <wsdl:port name="BasicHttpBinding_IProjectManagerService" binding="tns:BasicHttpBinding_IProjectManagerService"> <soap:address location="http://somesite/ProjectManager/ProjectManager.svc" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
Si selecciona la opción "Proyecto -> Mostrar todos los archivos" al seleccionar el proyecto WP7 y expande el icono de referencia del servicio, ¿ve el archivo reference.cs? – carlosfigueira
no, solo los archivos wdsl, disco, svcinfo, svcmap y xsd. –
¿Hay algo en el archivo svcmap (IIRC el archivo .cs se muestra debajo de eso)? Si no, ¿hay alguna advertencia/error en VS cuando agrega la referencia? De lo contrario, puede valer la pena intentar usar slsvcutil para generar un archivo, incluso si es solo para saber si emite algún error/advertencia. – carlosfigueira