我使用了这个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 行动=
任何提示有什么不对?我是第一个使用网络服务的计时器。
答案 0 :(得分:0)
如果仔细观察,只有http绑定的输入/输出不是soap 1.1 / 1.2。
所以你只能自己用身体上的httprequest和addxml来调用ws。