2011-10-27 28 views
1

我有一个关于WCF服务构造的逆向任务。 有一个SOAP请求描述XML文件:来自XML Soap文件的WCF合约

<?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的合同。 我该怎么做?

回答

2

你不能,真的。

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

但是,这并不告诉你,你服务方法(你的合同)应该如何看起来像.....

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

而且您甚至无法使用此SOAP XML文件定义数据合同 - 因为数据类型及其结构的相关描述似乎隐藏在http://someurl/NewXMLSchema.xsd XML模式文件中....除非您有手头,你留下了参数的名称,最好....