0

我使用这个 wsdl 文件:http ://ihexds.nist.gov:9080/tf6/services/xdsrepositoryb?wsdl 使用 wsdl.exe 生成代理 C# 代码文件。确切的命令是

“wsdl /o:D:\NIST_stuff /l:CS /protocol:SOAP12 http://ihexds.nist.gov:9080/tf6/services/xdsrepositoryb?wsdl

现在,我需要调用名为“ProvideAndRegisterDocumentSetRequest”的操作。从 WSDL 中,您可以看到该操作采用“ProvideAndRegisterDocumentSetRequestRequest”并返回“ProvideAndRegisterDocumentSetRequestResponse”:

<wsdl:operation name="ProvideAndRegisterDocumentSetRequest">
<wsdl:input message="ns2:ProvideAndRegisterDocumentSetRequestRequest" wsaw:Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"/>
<wsdl:output message="ns2:ProvideAndRegisterDocumentSetRequestResponse" wsaw:Action="urn:ProvideAndRegisterDocumentSetRequestResponse"/>
</wsdl:operation>

我知道 SOAP 请求 xml 应该是什么样子,并且我有一个准备该 XML 的应用程序。我希望通过某种方式将该 XML 作为请求正文传递。

但是在生成的代理类中,操作调用的代码是这样的:

public void ProvideAndRegisterDocumentSetRequest() {
        this.Invoke("ProvideAndRegisterDocumentSetRequest", new object[0]);}

当我这样调用方法时:

            WebProxy webProxy = new WebProxy("x.x.x.x:80", true);

            xdsrepositoryb xdsrepositoryb = new xdsrepositoryb();
            xdsrepositoryb.Proxy = webProxy;
            xdsrepositoryb.ProvideAndRegisterDocumentSetRequest();

我得到错误:

未找到操作的端点参考 (EPR) 是 http://ihexds.nist.gov:9080/tf6/services/xdsrepositoryb和 WSA 操作 =

有什么提示有什么问题吗?我是第一个使用 Web 服务的人。

4

1 回答 1

0

如果您仔细观察,则只有 http 绑定的输入/输出,而不是 soap 1.1/1.2。

因此,您只能自己在正文中使用 httprequest 和 addxml 调用 ws。

于 2011-08-04T10:25:13.900 回答