来自XML Soap文件的WCF合同

时间:2011-10-27 04:48:27

标签: wcf

我有一个关于WCF服务构建的反向任务。 拥有SOAP请求描述XML文件:

    <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Header/>
 <soapenv:Body>
  <nsp:run xmlns:nsp="http://someurl"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://someurl/NewXMLSchema.xsd ">
   <nsp:routes>
    <nsp:process>number</nsp:process>
   </nsp:routes>
   <nsp:params>
    <nsp:param name="name_1">?</nsp:param>
    <nsp:param name="nam2_2">?</nsp:param>
   </nsp:params>
   <nsp:files>
    <nsp:file name="file_1">b64Binary</nsp:file>
    <nsp:file name="file_2">b64Binary</nsp:file>
   </nsp:files>
  </nsp:run>
 </soapenv:Body>
</soapenv:Envelope>

需要设计WCF合同,该请求具有类似的描述。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

你不能,真的。

SOAP XML文件只是作为请求发送到服务的数据,或者作为响应从服务发送的数据。

但是,这并没有告诉您服务方法(您的合同)应该如何......

单独的SOAP消息不足以定义服务。您可以为WCF服务定义数据结构(数据合同),但不能定义服务合同。

您甚至无法使用此SOAP XML文件定义数据协定 - 因为数据类型及其结构的相关描述似乎隐藏在http://someurl/NewXMLSchema.xsd XML模式文件中...除非你有这个,否则你最多只剩下参数的名称......