Pergunta

obrigado por qualquer ajuda.

Estou criando um serviço web WCF para um cliente externo. O cliente está solicitando uma cópia do WSDL. Eu atualmente estou à espera de ser capaz de fornecer ao cliente com acesso ao serviço.

quando eu ir para o meu servidor local executando o serviço ( http:? //Localhost/Services.svc wsdl ) me é mostrado wsdl, os dados fornecidos contém as assinaturas de método (a partir do código atrás .svc), mas não contém os objetos do modelo incluídos (Customer, Order, ext).

Para obter esses objetos, posso encontrar as referências nos dados mostrados e ir para a url

Para mim a fornecer todas as informações necessárias para o cliente, para que eles tenham toda a wsdl devo fornecer o esquema principal e também cada um dos esquemas importados?

ou há alguma outra maneira de fazer isso (outro então o cliente bater um servidor)

ou seja: se existe uma maneira de embalar todos eles dentro de um arquivo
? (Parece que algo estaria disponível para extrair cada um desses arquivos?)

Se eu fosse dar um .zip com cada um dos arquivos, isso seria suficiente?

Obrigado, Steven

Foi útil?

Solução

WCF pacotes até seu WSDL e XSD (XML schema para descrever os dados enviados ao redor) em vários pedaços, como você já percebeu. Aqueles são referenciados a partir de seu WSDL principal com href do adicional.

Ou ainda melhor: você pode executar o comando "svcutil -metadata" na linha de comando contra a DLL ou EXE que contém a sua implementação do serviço - o que irá criar todos os arquivos necessários (tipicamente vários WSDL e vários XSD) no diretório onde você executa o comando svcutil. Isso é geralmente uma maneira mais confiável do que reunindo os arquivos WSDL e XSD do? Wsdl URL (você geralmente acabam faltando um ou dois arquivos).

Marc

Outras dicas

Se você baixou manualmente cada sub-WSDL e XSD referenciado, então sim, ele iria trabalhar; Mas é complicado, para dizer o mínimo.

Uma pena opção olhando para seria usar de Christian Weyer extensões WCF para aplainar seu WSDL para que WCF gera tudo em um único arquivo, em seguida, dando isso para seu cliente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top