2011-08-04 37 views
0

我使用此wsdl文件:http://ihexds.nist.gov:9080/tf6/services/xdsrepositoryb?wsdl 使用wsdl.exe生成代理C#代碼文件。確切的命令是未找到操作的端點引用錯誤

「WSDL/O:d:\ NIST_stuff /升:CS /協議: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和WS A Action =

任何提示什麼是錯的?我是第一個使用Web服務的計時器。

回答

0

如果仔細觀察,只有http綁定的輸入/輸出不是soap 1.1/1.2。

因此,您只能在自己的身上使用httprequest和addxml調用ws。

+0

你可以看看我剛添加的附加描述(「進一步縮小/簡化實驗:」),這是類似簡化的情況,我設法重現 – mishal153

+0

嗨如果你看你添加服務引用(wcf)不是web服務引用WCF工作有點差異。如果您希望在單擊添加服務引用後以舊方式進行操作,則會有一個提前按鈕和Web服務按鈕。這裏是一個鏈接http://kennyw.com/work/indigo/106 – Pintac

+0

是的,我也嘗試通過你說的方式:「添加服務參考有一個先進的按鈕,並在網絡服務按鈕」,但也有同樣的問題。 – mishal153

相關問題