我连接到SOAP 1.1 Web服务,不接受任何参数并返回简单的字符串响应。
我使用旧的.NET 2.0 添加Web引用为复杂类型生成了我的xsd文件,它还在Reference.odx中生成了端口和多部分消息类型
在我的业务流程中,我使用 Web消息类型下的正确多部分消息作为我的请求和响应消息的类型,并使用空的构造消息形状在发送操作之前请求消息。
尽管显式构造了没有参数的请求消息,但我可以看到(在Fiddler中)对服务的请求是正确构建的,但请求没有正文。我期待
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:myns="http:myns">
<soap:Body>
<myns:ServiceName/>
</soap:Body>
</soap:Envelope>
端口和适配器设置正确,因为我可以手动插入具有名为node的自关闭请求的预期请求主体,并重播失败的请求,然后成功。
我可以想到可能出错的两个地方:
即使正文是空的,我如何强制SOAP信封出现?
答案 0 :(得分:0)
我的问题是直接在我的业务流程中使用自动生成的网络消息引起的。我解决了#39;我的问题:
然后我可以在我的业务流程中使用生成的多部分消息。关键的是,没有参数的服务消息被定义了一个消息部分,我可以使用消息分配形状来硬编码没有内容的消息部分。
我还获得了一些其他方面的好处,例如异常类型。