我有一个关于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合同,该请求具有类似的描述。 我怎样才能做到这一点?
答案 0 :(得分:2)
你不能,真的。
SOAP XML文件只是作为请求发送到服务的数据,或者作为响应从服务发送的数据。
但是,这并没有告诉您服务方法(您的合同)应该如何......
单独的SOAP消息不足以定义服务。您可以为WCF服务定义数据结构(数据合同),但不能定义服务合同。
您甚至无法使用此SOAP XML文件定义数据协定 - 因为数据类型及其结构的相关描述似乎隐藏在http://someurl/NewXMLSchema.xsd
XML模式文件中...除非你有这个,否则你最多只剩下参数的名称......